home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Standards 1994 January / InfoMagic Standards - January 1994.iso / inet / scc / fips_166.txt < prev    next >
Text File  |  1991-09-30  |  111KB  |  2,488 lines

  1.                      Computer Systems Technology
  2.  
  3. ==================================================================
  4.  
  5.  
  6.                  NIST Special Publication 500-166
  7.  
  8.                Computer Viruses and Related Threats: 
  9.  
  10.                          A Management Guide
  11.  
  12.  
  13.  
  14.                            John P. Wack
  15.  
  16.                          Lisa J. Carnahan
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36. Ordering information: 
  37.  
  38. Copies can be ordered from: 
  39.  
  40.      Superintendent of Documents 
  41.      Government Printing Office 
  42.      Washington, D.C. 20402 
  43.      (202) 783-3238 
  44.      GPO # 003-003-02955-6 
  45.  
  46.      Price is $2.50 per copy 
  47.  
  48. COMPUTER VIRUSES AND RELATED THREATS 
  49.  
  50.  
  51.  
  52.                          Table of Contents 
  53. Executive Summary . . . . . . . . . . . . . . . . . . . . . .   v 
  54. 1. Introduction . . . . . . . . . . . . . . . . . . . . . .   1-1 
  55.      1.1  Audience and Scope  . . . . . . . . . . . . . . .   1-1 
  56.      1.2  How to Use This Guide . . . . . . . . . . . . . .   1-2 
  57.  
  58. 2.  A Brief Overview on Viruses and Related Threats . . . .   2-1 
  59.      2.1  Trojan Horses . . . . . . . . . . . . . . . . . .   2-1 
  60.      2.2  Computer Viruses  . . . . . . . . . . . . . . . .   2-3 
  61.      2.3  Network Worms . . . . . . . . . . . . . . . . . .   2-5 
  62.      2.4  Other Related Software Threats  . . . . . . . . .   2-8 
  63.      2.5  The Threat of Unauthorized Use  . . . . . . . . .   2-8 
  64.  
  65. 3. Virus Prevention in General  . . . . . . . . . . . . . .   3-1 
  66.      3.1  User Education  . . . . . . . . . . . . . . . . .   3-3 
  67.      3.2  Software Management . . . . . . . . . . . . . . .   3-4 
  68.      3.3  Technical Controls  . . . . . . . . . . . . . . .   3-6 
  69.      3.4  General Monitoring  . . . . . . . . . . . . . . .   3-8 
  70.      3.5  Contingency Planning  . . . . . . . . . . . . . .   3-9 
  71.  
  72. 4. Virus Prevention for  Multi-User Computers and Associated 
  73.      Networks . . . . . . . . . . . . . . . . . . . . . . .   4-1 
  74.      4.1  General Policies  . . . . . . . . . . . . . . . .   4-1 
  75.      4.2  Software Management . . . . . . . . . . . . . . .   4-2 
  76.      4.3  Technical Controls  . . . . . . . . . . . . . . .   4-4 
  77.      4.4  Monitoring  . . . . . . . . . . . . . . . . . . .   4-7 
  78.      4.5  Contingency Planning  . . . . . . . . . . . . . .   4-9 
  79.      4.6  Associated Network Concerns . . . . . . . . . . .  4-10 
  80.  
  81. 5. Virus  Prevention for Personal  Computers and  Associated 
  82.      Networks . . . . . . . . . . . . . . . . . . . . . . .   5-1 
  83.      5.1  General Policies  . . . . . . . . . . . . . . . .   5-2 
  84.      5.2  Software Management . . . . . . . . . . . . . . .   5-3 
  85.      5.3  Technical Controls  . . . . . . . . . . . . . . .   5-4 
  86.      5.4  Monitoring  . . . . . . . . . . . . . . . . . . .   5-6 
  87.      5.5  Contingency Planning  . . . . . . . . . . . . . .   5-7 
  88.      5.6  Associated Network Concerns . . . . . . . . . . .   5-9 
  89.  
  90. References  . . . . . . . . . . . . . . . . . . . . . . . .   A-1 
  91. Suggested Reading . . . . . . . . . . . . . . . . . . . . .   B-1 
  92.  
  93.  
  94.            COMPUTER VIRUSES AND RELATED THREATS 
  95.                     EXECUTIVE SUMMARY 
  96.  
  97.  
  98.  
  99. Computer viruses  and related threats  represent an  increasingly 
  100. serious security problem in computing systems and networks.  This 
  101. document   presents   guidelines   for   preventing,   deterring, 
  102. containing, and recovering  from attacks  of viruses and  related 
  103. threats.    This  section acquaints  senior  management  with the 
  104. nature of the problem and outlines some of the steps that  can be 
  105. taken to reduce an organization's vulnerability.
  106.  
  107. What Are Computer Viruses and Related Threats?
  108.  
  109. Computer viruses  are  the most  widely recognized  example of  a 
  110. class  of programs  written  to cause  some  form of  intentional 
  111. damage to  computer  systems  or  networks.    A  computer  virus 
  112. performs two basic functions: it copies itself to other programs, 
  113. thereby infecting  them,   and it  executes the  instructions the 
  114. author  has included in it.  Depending on the author's motives, a 
  115. program infected with a virus  may cause damage immediately  upon 
  116. its execution, or it may wait until a certain event has occurred, 
  117. such as a particular date and time.  The damage can  vary widely, 
  118. and can be so  extensive as to require the complete rebuilding of 
  119. all system software and data.  Because viruses can spread rapidly 
  120. to  other  programs   and  systems,   the  damage  can   multiply 
  121. geometrically.
  122.  
  123. Related threats include other forms  of destructive programs such 
  124. as Trojan  horses  and network  worms.   Collectively,  they  are 
  125. sometimes referred to as malicious  software.  These programs are 
  126. often written to masquerade as useful programs, so that users are 
  127. induced into copying them and sharing  them with friends and work 
  128. colleagues.  The malicious software  phenomena is fundamentally a 
  129. people problem,  as  it  is  authored  and  initially  spread  by 
  130. individuals who use systems in an unauthorized manner.  Thus, the 
  131. threat of unauthorized use, by unauthorized and authorized users, 
  132. must be addressed as a part of virus prevention. 
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.                               v
  140.  
  141.             COMPUTER VIRUSES AND RELATED THREATS 
  142.                     EXECUTIVE SUMMARY 
  143.  
  144.  
  145.  
  146. What Are the Vulnerabilities They Exploit? 
  147.  
  148. Unauthorized  users  and  malicious software may  gain  access to 
  149. systems  through inadequate  system security  mechanisms, through 
  150. security holes in applications or systems, and through weaknesses 
  151. in  computer management,  such  as the  failure  to properly  use 
  152. existing security  mechanisms.  Malicious software can  be copied 
  153. intentionally onto systems,  or be spread when  users unwittingly 
  154. copy and share  infected software  obtained from public  software 
  155. repositories,  such as  software  bulletin  boards and shareware. 
  156. Because malicious software often hides  its destructive nature by 
  157. performing or  claiming to  perform some  useful function,  users 
  158. generally don't suspect  that they are copying and  spreading the 
  159. problem. 
  160.  
  161. Why Are Incidents of Viruses and Related Threats On the Rise? 
  162.  
  163. Viruses and related  threats, while not a recent  phenomena, have 
  164. had relatively  little  attention focused  on them  in the  past. 
  165. They  occurred  less  frequently  and  caused  relatively  little 
  166. damage. For these  reasons, they were frequently  treated lightly 
  167. in computer design and by management, even though their potential 
  168. for harm was known to be great.
  169.  
  170. Computer   users   have   become  increasingly   proficient   and 
  171. sophisticated.   Software applications are  increasingly complex, 
  172. making  their  bugs  and  security  loopholes more  difficult  to 
  173. initially detect and correct by the manufacturer.  In conjunction 
  174. with these two  factors, some brands  of software are now  widely 
  175. used, thus their bugs  and security loopholes are often  known to 
  176. users.  With the  widespread use of personal computers  that lack 
  177. effective  security   mechanisms,  it  is  relatively   easy  for 
  178. knowledgeable users to  author malicious  software and then  dupe 
  179. unsuspecting users into copying it. 
  180.  
  181.  
  182.  
  183.  
  184.  
  185.                                vi
  186.  
  187.             COMPUTER VIRUSES AND RELATED THREATS 
  188.                     EXECUTIVE SUMMARY 
  189.  
  190.  
  191.  
  192. Steps Toward Reducing Risk 
  193.  
  194. Organizations can take steps to reduce  their risk to viruses and 
  195. related threats.  Some  of the more important steps  are outlined 
  196. below. 
  197.  
  198.    o Include  the  damage potential  of  viruses, unauthorized 
  199.      use, and related threats in risk analysis and contingency 
  200.      planning.    Develop  a  plan   to  deal  with  potential 
  201.      incidents.
  202.       
  203.    o Make computer  security education a  prerequisite to  any 
  204.      computer  use.  Teach users  how to protect their systems 
  205.      and detect evidence of tampering or unusual activity.
  206.       
  207.    o Ensure that technically oriented  security and management 
  208.      staff are in place to deal with security incidents. 
  209.      
  210.    o Use the security  mechanisms that  exist in your  current 
  211.      software.  Ensure that  they are used correctly.   Add to 
  212.      them as necessary.
  213.       
  214.    o Purchase  and  use  software  tools  to aid  in  auditing 
  215.      computing   activity  and   detecting  the   presence  of 
  216.      tampering and damage.
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.                                vii
  233.  
  234.              COMPUTER VIRUSES AND RELATED THREATS 
  235.                            CHAPTER 1
  236.  
  237.  
  238.  
  239.                        1. Introduction
  240.  
  241. This document provides  guidance for  technical managers for  the 
  242. reduction of  risk to  their computer systems  and networks  from 
  243. attack  by  computer  viruses, unauthorized  users,  and  related 
  244. threats.   The guidance discusses  the combined use  of policies, 
  245. procedures, and controls to address security vulnerabilities that 
  246. can leave systems  open to attack.   The aim of this  document is 
  247. not to provide solutions  to the wide range of  specific problems 
  248. or  vulnerabilities,  rather  it is  to  help  technical managers 
  249. administer their systems and networks such that manifestations of 
  250. viruses and related threats can be initially prevented, detected, 
  251. and contained.
  252.  
  253.  
  254. 1.1  Audience and Scope 
  255.  
  256. This document  is intended primarily  for the managers  of multi- 
  257. user systems,  personal computers,  and associated  networks, and 
  258. managers  of  end-user  groups.   Additionally,  the  document is 
  259. useful for the users of  such systems.  The document presents  an 
  260. overview  of  computer  viruses  and  related threats,  how  they 
  261. typically work, the  methods by  which they can  attack, and  the 
  262. harm they can  potentially cause.   It then presents guidance  in 
  263. the following areas: 
  264.  
  265.    o  Multi-User  Systems  and  Associated Networks  -  with
  266.       guidance  directed  at  managers  of medium  to  small 
  267.       systems (as opposed to mainframes that already provide 
  268.       generally effective security  controls or are by their 
  269.       nature more secure) and associated wide area and large 
  270.       local area networks, as well  as managers of end-users 
  271.       of such systems 
  272.  
  273.    o  Personal Computer  Systems and Networks  - guidance is
  274.       directed at  those responsible for  the management  of 
  275.       personal computers and personal  computer networks, as 
  276.       well as the managers of personal computer end-users 
  277.  
  278.  
  279.                                1-1
  280.  
  281.             COMPUTER VIRUSES AND RELATED THREATS 
  282.                          CHAPTER 1 
  283.  
  284.  
  285. Within   these   general    categories,   individual    computing 
  286. environments  will vary  widely, from  size  of computer  to user 
  287. population  to type of  software and computing  requirements.  To 
  288. accommodate  these differences,  the  guidance presented  here is 
  289. general  in nature.   It  attempts  to address  computer security 
  290. problems and vulnerabilities that are likely  to be found in most 
  291. computing  environments. This document  does not address problems 
  292. directly related to specific  brands of software or hardware.   A 
  293. reading list at the  end of the document contains  references and 
  294. pointers to other  literature that  address specific systems  and 
  295. software.
  296.  
  297. Recommended control measures are  grouped according to categories 
  298. that include general policies and procedures, education, software 
  299. management,  technical  controls,  monitoring,   and  contingency 
  300. planning.  The guidance emphasizes the need for a strong security 
  301. program  as a means for protection from manifestations of viruses 
  302. and related  threats,  and as  a means  for providing  detection, 
  303. containment,  and recovery.  Such  a  security  program  requires 
  304. personal involvement on the part of management to ensure that the 
  305. proper  policies, procedures, and  technical controls  exist, and 
  306. that users are  educated so that  they can follow safe  computing 
  307. practices and  understand  the proper  actions  to take  if  they 
  308. detect  the  presence  of  viruses  or  related   threats.    The 
  309. guidelines  recommend that  network  managers, multi-user  system 
  310. managers, end-users, and  end-user managers work with  each other 
  311. and approach virus protection from an organizationally consistent 
  312. basis. 
  313.  
  314.  
  315. 1.2  How to Use This Guide 
  316.  
  317. This document is divided into  five chapters and two  appendices. 
  318. Chapter 2 describes  in general how viruses  and related software 
  319. operate,  the vulnerabilities they  exploit, and how  they can be 
  320. introduced  into  systems  and  networks.   Chapter  3  discusses 
  321. general protection strategies and control  measures that apply to 
  322. technical and  end-user management  in general; this  is done  so 
  323. that  the  same guidance  need not  be repeated  for each  of the 
  324.  
  325.  
  326.                              1-2 
  327.  
  328.               COMPUTER VIRUSES AND RELATED THREATS 
  329.                             CHAPTER 1
  330.  
  331.  
  332. succeeding  chapters   that  deal  with   specific  environments. 
  333. Chapters  4 and  5 present  guidance  specific to  multi-user and 
  334. personal computer environments,  respectively.   The guidance  in 
  335. these chapters is  directed at the respective  technical managers 
  336. and managers of associated  networks, as well as the  managers of 
  337. end-user  groups  that use  such  systems  and networks.    It is 
  338. recommended that  all  readers, regardless  of  their  management 
  339. perspective,  examine  Chapters 3,  4,  and  5 to  gain  a fuller 
  340. appreciation of  the whole  environment with  regard to  threats, 
  341. vulnerabilities, and controls. 
  342.  
  343. Appendix  A   contains  document  references,  while  Appendix  B 
  344. contains a reading  list with references to  general and specific 
  345. information on various types of  viruses, systems, and protective 
  346. measures.  Readers can use these documents  to obtain information 
  347. specific to their individual systems and software.
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.  
  368.  
  369.  
  370.  
  371.  
  372.                                1-3 
  373.  
  374.                 COMPUTER VIRUSES AND RELATED THREATS 
  375.                             CHAPTER 2 
  376.  
  377.  
  378. 2.  A Brief Overview on Viruses and Related Threats 
  379.  
  380. The term computer  virus is  often  used in  a general  sense to
  381. indicate any software that can cause harm to systems or networks.
  382.  
  383. However,  computer viruses are just one example of many different 
  384. but related forms  of software that can act with  great speed and 
  385. power to  cause extensive  damage -other  important examples  are 
  386. Trojan horses  and network  worms.   In this  document, the  term 
  387. malicious software refers to such software.            
  388.  
  389.  
  390. 2.1  Trojan Horses 
  391.  
  392. A Trojan horse1 program is a  useful or apparently useful program 
  393. or command procedure  containing hidden code that,  when invoked, 
  394. performs some unwanted  function.   An author of  a Trojan  horse 
  395. program might first create or gain access to the source code of a 
  396. useful program that  is attractive to  other users, and then  add 
  397. code  so  that the  program  performs  some  harmful function  in 
  398. addition to its  useful function.   A simple example of  a Trojan 
  399. horse  program  might  be  a  calculator  program  that  performs 
  400. functions similar  to that of a  pocket calculator.  When  a user 
  401. invokes the program, it appears to be performing calculations and 
  402. nothing more, however it may also  be quietly deleting the user's 
  403. files, or performing any  number of harmful actions.   An example 
  404. of an even simpler Trojan horse program is one that performs only 
  405. a  harmful  function, such  as a  program  that does  nothing but 
  406. delete files.   However, it may appear to  be a useful program by 
  407. having a name such as CALCULATOR  or something similar to promote 
  408. acceptability.
  409.  
  410. Trojan  horse  programs  can  be  used  to  accomplish  functions 
  411. indirectly  that  an  unauthorized   user  could  not  accomplish
  412. -----------------------------------------------------------------
  413.     1.  Named after the use of a  hollow wooden horse filled with 
  414. enemy  soldiers used  to  gain entry  into the  city  of Troy  in 
  415. ancient Greece. 
  416.  
  417.  
  418.  
  419.                                2-1 
  420.  
  421.                 COMPUTER VIRUSES AND RELATED THREATS 
  422.                               CHAPTER 2 
  423.  
  424.  
  425. directly.  For example, a user  of a multi-user system who wishes 
  426. to gain access to  other users' files could create a Trojan horse 
  427. program to circumvent the users' file  security mechanisms.   The 
  428. Trojan horse program, when run,  changes the invoking user's file 
  429. permissions so  that the files  are readable  by any  user.   The 
  430. author could then induce users to run  this program by placing it 
  431. in a  common directory and naming  it such that users  will think 
  432. the program is a useful utility.  After a user runs  the program, 
  433. the author can then  access the information in the  user's files, 
  434. which  in  this  example  could be  important  work  or  personal 
  435. information.  Affected users may not  notice the changes for long 
  436. periods of time unless they are very observant. 
  437.  
  438. An example of a Trojan horse program that would be very difficult 
  439. to  detect would be  a compiler on  a multi-user system  that has 
  440. been modified to insert additional  code into certain programs as 
  441. they are  compiled, such as a login program.   The code creates a 
  442. trap door in the  login program which permits the  Trojan horse's 
  443. author to log onto the system using a special password.  Whenever 
  444. the  login program is recompiled, the compiler will always insert 
  445. the trap  door code into the program,  thus the Trojan horse code 
  446. can never  be discovered  by reading  the login  program's source 
  447. code.  For more information on this example, see [THOMPSON84].
  448.  
  449. Trojan horse  programs are introduced  into systems in  two ways: 
  450. they are initially  planted, and unsuspecting users copy  and run 
  451. them.  They are planted in software repositories that many people 
  452. can  access,  such  as  on  personal  computer  network  servers, 
  453. publicly-accessible directories in  a multi-user environment, and 
  454. software bulletin boards.  Users are then  essentially duped into 
  455. copying  Trojan   horse  programs   to  their   own  systems   or 
  456. directories.   If  a  Trojan  horse  program  performs  a  useful 
  457. function and causes  no immediate or  obvious damage, a user  may 
  458. continue to spread it  by sharing the program with  other friends 
  459. and co-workers.  The  compiler that copies hidden code to a login 
  460. program might  be  an example  of a  deliberately planted  Trojan 
  461. horse that could be  planted by an  authorized user of a  system, 
  462. such as a user assigned to maintain compilers and software tools. 
  463.  
  464.  
  465.  
  466.                                2-2 
  467.  
  468.                 COMPUTER VIRUSES AND RELATED THREATS 
  469.                             CHAPTER 2 
  470.  
  471.  
  472.  
  473. 2.2  Computer Viruses
  474.  
  475. Computer viruses, like  Trojan horses, are programs  that contain 
  476. hidden  code  which  performs  some  usually  unwanted  function. 
  477. Whereas  the  hidden code  in  a  Trojan horse  program  has been 
  478. deliberately placed by the program's author, the hidden code in a 
  479. computer  virus program has  been added by  another program, that 
  480. program itself being  a computer  virus or Trojan  horse.   Thus, 
  481. computer  viruses are  programs that  copy their  hidden code  to 
  482. other programs, thereby infecting them.  Once infected, a program 
  483. may  continue to  infect  even more  programs.   In  due time,  a 
  484. computer could be completely  overrun as the viruses spread  in a 
  485. geometric manner.
  486.  
  487. An example illustrating  how a computer  virus works might be  an 
  488. operating system  program for  a personal computer,  in which  an 
  489. infected  version of the  operating system  exists on  a diskette 
  490. that contains an attractive game.   For the game to operate,  the 
  491. diskette must be used to boot the computer, regardless of whether 
  492. the  computer  contains a  hard  disk with  its  own copy  of the 
  493. (uninfected)  operating  system program.    When the  computer is 
  494. booted  using the diskette,  the infected program  is loaded into 
  495. memory and  begins to  run.   It immediately  searches for  other 
  496. copies of the operating system program, and finds one on the hard 
  497. disk.  It then copies its hidden code  to the program on the hard 
  498. disk.   This happens so quickly that the  user may not notice the 
  499. slight delay before his game is run.  Later, when the computer is 
  500. booted using the  hard disk,  the newly infected  version of  the 
  501. operating system  will be  loaded into memory.   It will  in turn 
  502. look  for copies  to infect.   However, it  may also  perform any 
  503. number  of  very   destructive  actions,  such  as   deleting  or 
  504. scrambling all the files on the disk.
  505.  
  506. A  computer virus exhibits  three characteristics:  a replication
  507. mechanism,  an  activation  mechanism,  and  an objective.  The 
  508. replication mechanism performs the following functions: 
  509.  
  510.  
  511.  
  512.  
  513.                                 2-3 
  514.  
  515.                COMPUTER VIRUSES AND RELATED THREATS 
  516.                             CHAPTER 2 
  517.  
  518.  
  519.  
  520.     o searches for other programs to infect 
  521.     o when it finds  a program, possibly determines  whether 
  522.       the program has been previously infected by checking a 
  523.       flag 
  524.     o inserts  the  hidden  instructions  somewhere  in  the 
  525.       program 
  526.     o modifies  the  execution  sequence  of  the  program's 
  527.       instructions  such  that  the  hidden   code  will  be 
  528.       executed whenever the program is invoked 
  529.     o possibly creates a  flag to indicate that  the program 
  530.       has been infected
  531.  
  532.  
  533. The flag may be  necessary because without it, programs  could be 
  534. repeatedly infected and  grow noticeably large.   The replication 
  535. mechanism could  also perform  other functions  to help  disguise 
  536. that the file  has been infected,  such as resetting the  program 
  537. file's modification date to  its previous value, and  storing the 
  538. hidden code within the program so that the program's size remains 
  539. the same. 
  540.  
  541. The activation mechanism checks for the occurrence of some event. 
  542. When the event occurs, the computer virus executes its objective, 
  543. which  is  generally  some  unwanted,  harmful action.    If  the 
  544. activation mechanism checks  for a specific  date or time  before 
  545. executing its objective, it  is said to contain a time  bomb.  If 
  546. it  checks for a certain  action, such as  if an infected program 
  547. has been executed a preset number of times, it is said to contain 
  548. a logic bomb.   There may be  any number of variations,  or there 
  549. may be no activation  mechanism other than the  initial execution 
  550. of the infected program. 
  551.  
  552. As mentioned, the  objective is  usually some unwanted,  possibly 
  553. destructive event.   Previous examples  of computer viruses  have 
  554. varied widely in  their objectives, with some  causing irritating 
  555. but harmless displays  to appear, whereas  others have erased  or 
  556. modified files or  caused system hardware to  behave differently. 
  557.  
  558.  
  559.  
  560.                                 2-4 
  561.  
  562.              COMPUTER VIRUSES AND RELATED THREATS 
  563.                           CHAPTER 2 
  564.  
  565.  
  566. Generally, the objective consists of  whatever actions the author 
  567. has designed into the virus. 
  568.  
  569. As with Trojan horse programs, computer viruses can be introduced 
  570. into  systems  deliberately  and  by  unsuspecting  users.    For 
  571. example, a Trojan horse program whose  purpose is to infect other 
  572. programs  could be  planted  on a  software  bulletin board  that 
  573. permits  users  to upload  and download  programs.   When  a user 
  574. downloads the program and then executes it,  the program proceeds 
  575. to infect  other programs in the user's  system.  If the computer 
  576. virus  hides itself well,  the user may continue  to spread it by 
  577. copying the infected  program to other  disks, by backing it  up, 
  578. and  by  sharing it  with other  users.   Other  examples  of how 
  579. computer   viruses  are   introduced  include   situations  where 
  580. authorized users  of systems  deliberately  plant viruses,  often 
  581. with  a time bomb mechanism.   The virus may then activate itself 
  582. at some later point in time, perhaps when the user is  not logged 
  583. onto  the  system  or  perhaps  after   the  user  has  left  the 
  584. organization.    For more  information  on computer  viruses, see 
  585. [DENNING88]
  586.  
  587.  
  588. 2.3  Network Worms 
  589.  
  590. Network  worm  programs use  network  connections to  spread from 
  591. system  to system,  thus network  worms  attack systems  that are 
  592. linked via communications lines.  Once  active within a system, a 
  593. network worm can behave as a computer  virus, or it could implant 
  594. Trojan  horse programs  or perform  any  number of  disruptive or 
  595. destructive actions.  In a sense, network worms are like computer 
  596. viruses with the ability to infect other systems as well as other 
  597. programs.  Some people use the term virus to include both cases. 
  598. To replicate themselves,  network worms use some  sort of network 
  599. vehicle, depending on the type of  network and systems.  Examples 
  600. of network vehicles include (a) a network mail facility, in which 
  601. a  worm can mail  a copy  of itself to  other systems, or  (b), a 
  602. remote execution capability, in  which a worm can execute  a copy 
  603. of itself on  another system, or  (c) a remote login  capability, 
  604.  
  605.  
  606.  
  607.                            2-5 
  608.  
  609.                 COMPUTER VIRUSES AND RELATED THREATS 
  610.                           CHAPTER 2 
  611.  
  612.  
  613. whereby  a worm can log  into a remote system as  a user and then 
  614. use commands to  copy itself from one  system to the other.   The 
  615. new copy of  the network worm is  then run on the  remote system, 
  616. where it may continue to spread to more systems in a like manner. 
  617. Depending on the size of a network, a network worm can  spread to 
  618. many  systems  in a  relatively short  amount  of time,  thus the 
  619. damage it can cause to one system is multiplied by the  number of 
  620. systems to which it can spread. 
  621.  
  622. A network  worm exhibits the  same characteristics as  a computer 
  623. virus: a replication mechanism, possibly an activation mechanism 
  624. and an objective.   The replication mechanism  generally performs 
  625. the following functions: 
  626.  
  627.    o  searches for other systems to infect by examining host 
  628.       tables  or  similar  repositories  of  remote   system 
  629.       addresses 
  630.    o  establishes  a   connection  with  a   remote  system, 
  631.       possibly by  logging in  as a  user  or using  a  mail 
  632.       facility or remote execution capability 
  633.    o  copies itself to the remote system and causes the copy 
  634.       to be run 
  635.  
  636. The network worm may  also attempt to determine whether  a system 
  637. has previously been infected before copying itself to the system. 
  638. In a multi-tasking computer, it may also disguise its presence by 
  639. naming  itself as a system process  or using some other name that 
  640. may not be noticed by a system operator.
  641.  
  642. The activation mechanism might use a  time bomb or logic bomb  or 
  643. any number of variations to activate itself.  Its objective, like 
  644. all  malicious software, is whatever the author has designed into 
  645. it.  Some network worms have been designed  for a useful purpose, 
  646. such as to perform general "house-cleaning" on networked systems, 
  647. or  to  use extra  machine  cycles  on each  networked  system to 
  648. perform  large  amounts  of  computations  not practical  on  one 
  649. system.  A network worm with a harmful objective could perform  a 
  650. wide  range of destructive  functions, such as  deleting files on 
  651.  
  652.  
  653.  
  654.                              2-6 
  655.  
  656.                COMPUTER VIRUSES AND RELATED THREATS 
  657.                             CHAPTER 2
  658.  
  659.  
  660. each affected computer, or by implanting Trojan horse programs or 
  661. computer viruses. 
  662.  
  663. Two examples of  actual network  worms are presented  here.   The 
  664. first  involved a Trojan horse program that displayed a Christmas 
  665. tree  and  a message  of  good  cheer (this  happened  during the 
  666. Christmas  season).    When  a user  executed  this  program,  it 
  667. examined   network  information  files  which  listed  the  other 
  668. personal computers that could  receive mail from this user.   The 
  669. program then mailed itself to those  systems.  Users who received 
  670. this message  were  invited to  run  the Christmas  tree  program 
  671. themselves, which they did.   The network worm thus  continued to 
  672. spread to  other systems until  the network was  nearly saturated 
  673. with traffic.   The network  worm did not  cause any  destructive 
  674. action other than disrupting communications and causing a loss in 
  675. productivity [BUNZEL88]. 
  676.  
  677. The second example concerns the  incident whereby a network  worm 
  678. used the collection of  networks known as the Internet  to spread 
  679. itself to several  thousands of computers located  throughout the 
  680. United States.  This worm  spread itself automatically, employing 
  681. somewhat  sophisticated  techniques  for bypassing  the  systems' 
  682. security mechanisms.   The worm's replication  mechanism accessed 
  683. the systems by using one of three methods: 
  684.  
  685.    o  it employed  password cracking, in  which it
  686.       attempted to log into systems using  usernames for
  687.       passwords, as well as using words from an on-line
  688.       dictionary 
  689.    o  it exploited a  trap door  mechanism in mail  programs
  690.       which  permitted  it  to  send  commands to  a  remote
  691.       system's command interpreter 
  692.    o  it exploited a  bug in  a network information  program
  693.       which permitted it to access a remote system's command 
  694.       interpreter 
  695.  
  696. By using a  combination of  these methods, the  network worm  was 
  697. able to copy itself  to different brands of computers  which used 
  698. similar versions of a widely-used operating  system.  Many system 
  699. managers were  unable to  detect its  presence in their  systems, 
  700.  
  701.                                 2-7
  702.  
  703.              COMPUTER VIRUSES AND RELATED THREATS 
  704.                            CHAPTER 2 
  705.  
  706.  
  707. thus  it  spread  very quickly,  affecting  several  thousands of 
  708. computers  within  two  days.    Recovery efforts  were  hampered 
  709. because  many  sites  disconnected from  the  network  to prevent 
  710. further infections,  thus preventing those  sites from  receiving 
  711. network mail that explained how to correct the problems.
  712.  
  713. It was unclear  what the network worm's objective was,  as it did 
  714. not destroy  information, steal  passwords, or  plant viruses  or 
  715. Trojan horses.  The  potential for destruction was very  high, as 
  716. the  worm  could have  contained  code  to effect  many  forms of 
  717. damage, such as  to destroy all files  on each system.   For more 
  718. information, see [DENNING89] and [SPAFFORD88]. 
  719.  
  720.  
  721. 2.4  Other Related Software Threats
  722.  
  723. The  number of variations of Trojan horses, computer viruses, and 
  724. network worms is apparently endless.   Some have names, such as a 
  725. rabbit, whose objective is to spread wildly within or among other 
  726. systems  and  disrupt  network  traffic,  or a  bacterium,  whose 
  727. objective is to  replicate within a  system and eat up  processor 
  728. time  until computer  throughput is  halted [DENNING88].   It  is 
  729. likely  that  many new  forms  will  be  created, employing  more 
  730. sophisticated techniques for spreading and causing damage. 
  731.  
  732.  
  733. 2.5  The Threat of Unauthorized Use 
  734.  
  735. In  that computer viruses and related forms of malicious software 
  736. are intriguing  issues  in themselves,  it  is important  not  to 
  737. overlook that they are created by people, and are fundamentally a 
  738. people problem.   In essence, examples of malicious  software are 
  739. tools that  people use  to extend  and enhance  their ability  to 
  740. create mischief and various other forms of damage.  Such software 
  741. can do  things that  the interactive user  often cannot  directly 
  742. effect,  such  as  working  with   great  speed,  or  maintaining 
  743. anonymity,  or  doing  things that  require  programmatic  system 
  744. calls.   But  in general,  malicious  software exploits  the same 
  745. vulnerabilities  as  can knowledgeable  users.   Thus,  any steps 
  746.  
  747.                                2-8 
  748.  
  749.                  COMPUTER VIRUSES AND RELATED THREATS 
  750.                               CHAPTER 2 
  751.  
  752.  
  753. taken to  reduce the likelihood  of attack by  malicious software 
  754. should address  the likelihood  of unauthorized  use by  computer 
  755. users. 
  756.  
  757.  
  758.  
  759.  
  760.  
  761.  
  762.  
  763.  
  764.  
  765.  
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                                2-9 
  795.  
  796.              COMPUTER VIRUSES AND RELATED THREATS 
  797.                          CHAPTER 3
  798.  
  799.  
  800.  
  801. 3. Virus Prevention in General
  802.  
  803. To provide general  protection from attacks by  computer viruses, 
  804. unauthorized users, and related threats,  users and managers need 
  805. to eliminate or reduce vulnerabilities.  A general summary of the 
  806. vulnerabilities that  computer viruses  and  related threats  are 
  807. most likely to exploit is as follows:
  808.  
  809.    o lack of user  awareness - users  copy and share  infected 
  810.      software, fail to detect signs of virus activity,  do not 
  811.      understand proper security techniques 
  812.    o absence  of or  inadequate security  controls -  personal 
  813.      computers generally  lack software and  hardware security 
  814.      mechanisms that help  to prevent and detect  unauthorized 
  815.      use,  existing   controls  on   multi-user  systems   can 
  816.      sometimes be surmounted by knowledgeable users 
  817.    o ineffective  use of  existing  security controls  - using 
  818.      easily guessed passwords, failing to use access controls, 
  819.      granting users more access to resources than necessary 
  820.    o bugs  and  loopholes  in   system  software  -   enabling 
  821.      knowledgeable users to break into systems or exceed their 
  822.      authorized privileges 
  823.    o unauthorized use  - unauthorized  users can  break in  to 
  824.      systems,  authorized users can exceed levels of privilege 
  825.      and misuse systems 
  826.    o susceptibility  of  networks  to  misuse  - networks  can 
  827.      provide anonymous access to systems,  many are in general 
  828.      only as secure as the systems which use them 
  829.  
  830.  
  831. As can be seen from this  summary, virus prevention requires that 
  832. many  diverse  vulnerabilities   be  addressed.    Some   of  the 
  833. vulnerabilities  can  be  improved  upon significantly,  such  as 
  834. security controls that can be added or improved, while others are 
  835. somewhat inherent in computing, such as  the risk that users will 
  836. not use  security controls  or follow  policies, or  the risk  of 
  837. unauthorized use of computers and networks.  Thus,  it may not be 
  838.  
  839.  
  840.  
  841.                              3-1 
  842.  
  843.                COMPUTER VIRUSES AND RELATED THREATS 
  844.                              CHAPTER 3 
  845.  
  846.  
  847. possible  to  completely  protect  systems  from  all  virus-like 
  848. attacks.   However, to  attain a realistic  degree of protection, 
  849. all areas of vulnerability must be addressed; improving upon some 
  850. areas at the expense of others will still leave significant holes 
  851. in security. 
  852.  
  853. To  adequately  address all  areas  of vulnerability,  the active 
  854. involvement  of individual  users, the management  structure, and 
  855. the  organization  in a virus  prevention program  is essential.
  856. Such a program, whether formal or informal, depends on the mutual 
  857. cooperation of the  three groups to identify  vulnerabilities, to 
  858. take steps to correct them, and to monitor the results. 
  859.  
  860. A virus prevention program must be initially based upon effective 
  861. system   computer  administration   that   restricts  access   to 
  862. authorized  users,   ensures  that  hardware  and   software  are 
  863. regularly monitored and maintained, makes  backups regularly, and 
  864. maintains contingency  procedures for potential  problems.  Sites 
  865. that do not maintain a basic computer administration program need 
  866. to put  one into place, regardless of their  size or the types of 
  867. computers used.  Many system vendors supply system administration 
  868. manuals that describe the aspects of a basic program, and one can 
  869. consult documents such as [FIPS73], or [NBS120]. 
  870.  
  871. Once a basic  administration program is in  place, management and 
  872. users need  to incorporate  virus prevention  measures that  will 
  873. help to deter attacks by viruses and related threats, detect when 
  874. they occur, contain the attacks to limit damage, and recover in a 
  875. reasonable amount of  time without loss  of data.  To  accomplish 
  876. these aims, attention needs to be focused on the following areas: 
  877.  
  878.    o educating users  about malicious software in general, the
  879.      risks  that  it  poses,  how  to  use  control  measures,
  880.      policies, and  procedures to  protect themselves  and the
  881.      organization
  882.    o software management policies  and procedures that address
  883.      public-domain software, and  the use  and maintenance  of
  884.      software in general 
  885.      
  886.  
  887.  
  888.                                 3-2 
  889.  
  890.               COMPUTER VIRUSES AND RELATED THREATS 
  891.                         CHAPTER 3
  892.  
  893.  
  894.    o use of technical controls that  help to prevent and deter
  895.      attacks by malicious software and unauthorized users 
  896.    o monitoring of user and software  activity to detect signs 
  897.      of attacks, to  detect policy violations, and  to monitor 
  898.      the overall  effectiveness of  policies, procedures,  and 
  899.      controls 
  900.    o contingency policies  and procedures  for containing  and
  901.      recovering from attacks 
  902.  
  903. General  guidance  in each  of these  areas  is explained  in the 
  904. following sections.
  905.  
  906.  
  907. 3.1  User Education 
  908.  
  909. Education is  one of  the primary  methods by  which systems  and 
  910. organizations can  achieve greater  protection from  incidents of 
  911. malicious software  and unauthorized  use.   In situations  where 
  912. technical controls do not provide complete protection (i.e., most 
  913. computers),  it  is ultimately  people  and their  willingness to 
  914. adhere to security  policies that will determine  whether systems 
  915. and organizations  are protected.   By educating users  about the 
  916. general  nature  of  computer  viruses  and related  threats,  an 
  917. organization can improve  its ability  to deter, detect,  contain 
  918. and recover from potential incidents. 
  919.  
  920. Users should be educated about the following: 
  921.  
  922.    o how malicious software  operates, methods by which  it is 
  923.      planted  and  spread,  the  vulnerabilities exploited  by 
  924.      malicious software and unauthorized users 
  925.    o general security policies  and procedures and how  to use 
  926.      them 
  927.    o the policies to follow regarding the backup, storage, and 
  928.      use of  software, especially  public-domain software  and 
  929.      shareware 
  930.    o how  to use  the technical  controls they  have at  their 
  931.      disposal to protect themselves
  932.  
  933.  
  934.  
  935.                                3-3 
  936.  
  937.                   COMPUTER VIRUSES AND RELATED THREATS 
  938.                                CHAPTER 3 
  939.  
  940.  
  941.    o how to monitor their systems and software to detect signs 
  942.      of abnormal activity, what  to do or whom to  contact for 
  943.      more information 
  944.    o contingency procedures for containing and recovering from 
  945.      potential incidents 
  946.  
  947.  
  948. User education,  while perhaps  expensive in  terms  of time  and 
  949. resources required,  is ultimately a  cost-effective measure  for 
  950. protecting  against   incidents   of   malicious   software   and 
  951. unauthorized  use.  Users  who  are  better acquainted  with  the 
  952. destructive potential of  malicious software  and the methods  by 
  953. which it  can attack  systems may  in  turn be  prompted to  take 
  954. measures to protect themselves.  The purpose of security policies 
  955. and procedures will be more clear, thus users may be more willing 
  956. to actively use them.  By  educating users how to detect abnormal 
  957. system activity  and the resultant steps to follow for containing 
  958. and recovering from potential  incidents, organizations will save 
  959. money and time if and when actual incidents occur.
  960.  
  961.  
  962. 3.2  Software Management 
  963.  
  964. As shown by  examples in Chapter 2,  one of the prime  methods by 
  965. which malicious software  is initially copied onto  systems is by 
  966. unsuspecting users.   When users  download programs from  sources 
  967. such  as  software  bulletin  boards,  or public  directories  on 
  968. systems or network servers, or in  general use and share software 
  969. that has  not been obtained from a reputable source, users are in 
  970. danger of  spreading malicious software.   To prevent  users from 
  971. potentially spreading malicious software, managers need to 
  972.  
  973.    o ensure  that  users understand  the  nature of  malicious 
  974.      software,  how it is generally  spread, and the technical 
  975.      controls to use to protect themselves 
  976.    o develop policies for  the downloading and use  of public- 
  977.       domain and shareware software 
  978.    o create  some mechanism for validating such software prior 
  979.      to allowing users to copy and use it 
  980.  
  981.  
  982.                              3-4 
  983.  
  984.              COMPUTER VIRUSES AND RELATED THREATS 
  985.                          CHAPTER 3 
  986.  
  987.  
  988.    o minimize the exchange  of executable  software within  an 
  989.      organization as much as possible 
  990.    o do not create  software repositories on LAN servers or in 
  991.      multi-user system directories  unless technical  controls 
  992.      exist  to   prevent  users   from  freely   uploading  or 
  993.      downloading the software 
  994.  
  995. The  role  of  education  is  important,  as  users  who  do  not 
  996. understand  the risks  yet who  are  asked to  follow necessarily 
  997. restrictive policies may share and  copy software anyway.   Where 
  998. technical controls  cannot prevent  placing new  software onto  a 
  999. system, users are  then primarily responsible for the  success or 
  1000. failure of whatever policies are developed. 
  1001.  
  1002. A policy  that  prohibits any  copying  or use  of  public-domain 
  1003. software  may  be  overly  restrictive,  as  some  public  domain 
  1004. programs have proved  to be  useful.  A  less restrictive  policy 
  1005. would  allow some  copying, however  a  user might  first require 
  1006. permission from the appropriate manager.  A special system should 
  1007. be used from which to perform the copy and then to test the 
  1008. software.  This type of system, called an isolated system, 
  1009. should  be configured so that there is no risk of spreading a 
  1010. potentially  malicious program to other areas of  an 
  1011. organization.  The system  should  not  be  used  by  other  
  1012. users, should  not  connect  to  networks, and should not contain 
  1013. any  valuable data.  An isolated system should also be used  to 
  1014. test internally developed software and updates to vendor 
  1015. software. 
  1016.  
  1017. Other policies for managing vendor  software should be developed. 
  1018. These  policies  should   control  how  and  where   software  is 
  1019. purchased, and should govern where the software  is installed and 
  1020. how it is to be used.  The following policies and  procedures are 
  1021. suggested:
  1022.  
  1023.  
  1024.    o purchase vendor software only from reputable sources 
  1025.    o maintain the software properly and update it as necessary 
  1026.    o don't use pirated software, as it may have been modified 
  1027.  
  1028.  
  1029.                                3-5 
  1030.  
  1031.                COMPUTER VIRUSES AND RELATED THREATS 
  1032.                               CHAPTER 3 
  1033.  
  1034.  
  1035.  
  1036.    o keep  records  of  where  software is  installed  readily 
  1037.      available for contingency purposes 
  1038.    o ensure that vendors can be  contacted quickly if problems 
  1039.      occur 
  1040.    o store the original  disks or tapes  from the vendor in  a 
  1041.      secure location 
  1042.  
  1043.  
  1044. 3.3  Technical Controls 
  1045.  
  1046. Technical  controls  are  the  mechanisms  used  to  protect  the 
  1047. security and integrity of  systems and associated data.   The use 
  1048. of technical controls can help  to prevent occurrences of viruses 
  1049. and related threats by deterring them or making it more difficult 
  1050. for them  to  gain access  to  systems  and data.    Examples  of 
  1051. technical controls include user authentication mechanisms such as 
  1052. passwords, mechanisms which provide selective levels of access to 
  1053. files and directories  (read-only, no  access, access to  certain 
  1054. users,  etc.),  and  write-protection  mechanisms  on  tapes  and 
  1055. diskettes. 
  1056.  
  1057. The different types of technical controls and the degree to which 
  1058. they  can provide protection and deterrence varies from system to 
  1059. system, thus the use  of specific types of controls  is discussed 
  1060. in Chapters  4 and 5.  However,  the following general points are 
  1061. important to note: 
  1062.  
  1063.    o technical  controls  should  be  used  as   available  to 
  1064.      restrict system access to authorized users only 
  1065.    o in the multi-user environment, technical controls  should 
  1066.      be  used  to  limit  users'  privileges  to  the  minimum 
  1067.      practical level; they should work  automatically and need 
  1068.      not be initiated by users 
  1069.    o users and system managers must be  educated as to how and 
  1070.      when to use technical controls 
  1071.    o where  technical controls are weak or non-existent (i.e., 
  1072.      personal  computers), they  should  be supplemented  with 
  1073.  
  1074.  
  1075.  
  1076.                               3-6 
  1077.  
  1078.                COMPUTER VIRUSES AND RELATED THREATS 
  1079.                            CHAPTER 3 
  1080.  
  1081.  
  1082.  
  1083. alternative   physical   controls   or   add-on   control 
  1084. mechanisms 
  1085.  
  1086. Managers need to determine which technical controls are available 
  1087. on their systems,  and then the  degree to which  they should  be 
  1088. used and whether  additional add-on controls are  necessary.  One 
  1089. way  to  answer  these  questions  is  to  first  categorize  the 
  1090. different classes of data being processed by a system or systems, 
  1091. and then to  rank the  categories according to  criteria such  as 
  1092. sensitivity to the  organization and vulnerability of  the system 
  1093. to attack.  The rankings should then help determine the degree to 
  1094. which  the  controls  should be  applied  and  whether additional 
  1095. controls are  necessary.   Ideally, those systems  with the  most 
  1096. effective controls should be used  to process the most  sensitive 
  1097. data, and vice-versa.   As an example, a personal  computer which 
  1098. processes  sensitive employee  information should  require add-on 
  1099. user authentication mechanisms, whereas  a personal computer used 
  1100. for general word processing may not need additional controls.
  1101.  
  1102. It is important to note that  technical controls do not generally 
  1103. provide complete protection against viruses  and related threats. 
  1104. They may be cracked by determined  users who are knowledgeable of 
  1105. hidden  bugs and weaknesses,  and they may  be surmounted through 
  1106. the use of Trojan horse programs, as shown by examples in Chapter 
  1107. 2.  An  inherent weakness  in technical controls  is that,  while 
  1108. deterring users and  software from objects  to which they do  not 
  1109. have  access,  they may  be  totally ineffective  against attacks 
  1110. which target objects that are accessible.  For example, technical 
  1111. controls may not prevent an authorized user from destroying files 
  1112. to which the user has authorized  access.  Most importantly, when 
  1113. technical controls  are not  used properly, they  may increase  a 
  1114. system's  degree of vulnerability.   It is  generally agreed that 
  1115. fully effective technical  controls will not be  widely available 
  1116. for some time.   Because of the immediate nature of  the computer 
  1117. virus threat,  technical controls  must be  supplemented by  less 
  1118. technically-oriented control  measures such as  described in this 
  1119. chapter. 
  1120.  
  1121.  
  1122.  
  1123.                                3-7 
  1124.  
  1125.               COMPUTER VIRUSES AND RELATED THREATS 
  1126.                             CHAPTER 3 
  1127.  
  1128.  
  1129. 3.4  General Monitoring 
  1130.  
  1131.  
  1132. An  important aspect of  computer viruses and  related threats is 
  1133. that they  potentially can cause  extensive damage within  a very 
  1134. small amount of time, such as minutes or seconds.  Through proper 
  1135. monitoring of software, system activity,  and in some cases  user 
  1136. activity,  managers  can increase  their  chances that  they will 
  1137. detect   early  signs  of  malicious  software  and  unauthorized 
  1138. activity.  Once the presence is  noted or suspected, managers can 
  1139. then  use  contingency  procedures to  contain  the  activity and 
  1140. recover  from whatever  damage has  been  caused.   An additional 
  1141. benefit of  general monitoring is that  over time, it can  aid in 
  1142. determining  the  necessary  level  or   degree  of  security  by 
  1143. indicating  whether security  policies, procedures,  and controls 
  1144. are working as planned. 
  1145.  
  1146. Monitoring  is  a  combination  of  continual system  and  system 
  1147. management activity.   Its effectiveness  depends on  cooperation 
  1148. between management and users.   The following items are necessary 
  1149. for effective monitoring: 
  1150.  
  1151.    o user  education  -  users must  know,  specific  to their 
  1152.      computing  environment,  what   constitutes  normal   and 
  1153.      abnormal system activity and whom  to contact for further 
  1154.      information - this  is especially important for  users of 
  1155.      personal  computers,  which   generally  lack   automated 
  1156.      methods for monitoring 
  1157.    o automated system  monitoring tools - generally  on multi- 
  1158.      user systems, to  automate logging or accounting  of user 
  1159.      and  software  accesses  to accounts,  files,  and  other 
  1160.      system objects  - can sometimes  be tuned to  record only 
  1161.      certain types of accesses such as "illegal" accesses 
  1162.    o anti-viral software  - generally  on personal  computers, 
  1163.      these tools alert users of certain types of system access 
  1164.      that are indicative of "typical" malicious software 
  1165.    o system-sweep programs  - programs to  automatically check 
  1166.      files for changes in size, date, or content 
  1167.  
  1168.  
  1169.  
  1170.                                  3-8 
  1171.  
  1172.               COMPUTER VIRUSES AND RELATED THREATS 
  1173.                             CHAPTER 3 
  1174.  
  1175.  
  1176.  
  1177.    o network  monitoring  tools -  as  with system  monitoring 
  1178.      tools, to record network accesses or attempts to access 
  1179.  
  1180. The statistics gained  from monitoring activities should  be used 
  1181. as input for periodic reviews of  security programs.  The reviews 
  1182. should  evaluate the effectiveness  of general system management, 
  1183. and associated security policies, procedures,  and controls.  The 
  1184. statistics will indicate  the need for  changes and will help  to 
  1185. fine tune the program so that security is distributed to where it 
  1186. is most necessary.   The reviews  should also incorporate  users' 
  1187. suggestions,  and  to  ensure  that  the program  is  not  overly 
  1188. restrictive, their criticisms.
  1189.  
  1190.  
  1191. 3.5  Contingency Planning 
  1192.  
  1193. The  purpose  of  contingency planning  with  regard  to computer 
  1194. viruses and related threats is to be able to  contain and recover 
  1195. completely from  actual attacks.  In many  ways, effective system 
  1196. management  that  includes  user  education,  use   of  technical 
  1197. controls,  software management,  and monitoring activities,  is a 
  1198. form  of  contingency  planning, generally  because  a  well-run, 
  1199. organized  system  or facility  is better  able to  withstand the 
  1200. disruption that could  result from a  computer virus attack.   In 
  1201. addition to effective system management activities, managers need 
  1202. to consider  other contingency procedures that  specifically take 
  1203. into account the nature of computer viruses and related threats. 
  1204.  
  1205. Possibly  the  most   important  contingency  planning   activity 
  1206. involves the use of backups.  The ability to recover from a virus 
  1207. attack depends upon maintaining regular,  frequent backups of all 
  1208. system data.   Each backup should be  checked to ensure  that the 
  1209. backup media has not  been corrupted.  Backup media  could easily 
  1210. be corrupted because of defects, because the backup procedure was 
  1211. incorrect, or perhaps because the backup software itself has been 
  1212. attacked and modified to corrupt backups as they are made. 
  1213.  
  1214. Contingency procedures for  restoring from backups after  a virus 
  1215. attack  are equally  important.   Backups may  contain  copies of 
  1216.  
  1217.                               3-9 
  1218.  
  1219.                 COMPUTER VIRUSES AND RELATED THREATS 
  1220.                               CHAPTER 3 
  1221.  
  1222.  
  1223.  
  1224. malicious  software  that   have  been  hiding  in   the  system. 
  1225. Restoring  the  malicious software  to  a  system  that has  been 
  1226. attacked could  cause a recurrence of the problem.  To avoid this 
  1227. possibility, software should  be restored only from  its original 
  1228. media:   the tapes or diskettes from the  vendor.  In some cases, 
  1229. this may  involve reconfiguring the software,  therefore managers 
  1230. must maintain copies of configuration  information for system and 
  1231. application software.   Because data is not  directly executable, 
  1232. it  can be restored from routine backups.  However, data that has 
  1233. been  damaged  may need  to be  restored  manually or  from older 
  1234. backups.    Command files  such  as  batch  procedures and  files 
  1235. executed  when  systems  boot  or  when  user log  on  should  be 
  1236. inspected to ensure that they have  not been damaged or modified. 
  1237. Thus,  managers  will  need  to  retain  successive  versions  of 
  1238. backups, and search through them when restoring  damaged data and 
  1239. command files. 
  1240.  
  1241. Other contingency procedures for containing virus attacks need to 
  1242. be developed.  The following are suggested; they are discussed in 
  1243. more detail in Chapters 4 and 5:
  1244.  
  1245.  
  1246.    o ensure that accurate  records are  kept of each  system's 
  1247.      configuration,  including  the  system's   location,  the 
  1248.      software  it   runs,  the  system's  network   and  modem 
  1249.      connections,  and  the name  of  the system's  manager or 
  1250.      responsible individual 
  1251.    o create a  group  of  skilled users  to  deal  with  virus 
  1252.      incidents and ensure that users  can quickly contact this 
  1253.      group if they suspect signs of viral activity 
  1254.    o maintain a security  distribution list at each  site with 
  1255.      appropriate telephone numbers of managers to contact when 
  1256.      problems occur 
  1257.    o isolate critical systems from  networks and other sources 
  1258.      of infection 
  1259.    o place outside  network connections  on  systems with  the 
  1260.      best  protections,  use  central  gateways to  facilitate 
  1261.      rapid disconnects 
  1262.  
  1263.  
  1264.                             3-10 
  1265.  
  1266.              COMPUTER VIRUSES AND RELATED THREATS 
  1267.                             CHAPTER 4 
  1268.  
  1269.  
  1270. 4. Virus Prevention for Multi-User Computers
  1271.     and Associated Networks 
  1272.  
  1273.  
  1274. Virus prevention in the multi-user  computer environment is aided 
  1275. by the centralized system and  user management, and the  relative 
  1276. richness of technical controls.   Unlike personal computers, many 
  1277. multi-user    systems   possess    basic   controls    for   user 
  1278. authentication, for levels  of access  to files and  directories, 
  1279. and  for  protected regions  of  memory.   By  themselves,  these 
  1280. controls are not  adequate, but combined with other  policies and 
  1281. procedures that  specifically target viruses and related threats, 
  1282. multi-user systems  can greatly  reduce their  vulnerabilities to 
  1283. exploitation and attack. 
  1284.  
  1285. However, some relatively powerful multi-user  machines are now so 
  1286. compact as to be  able to be located  in an office or on  a desk- 
  1287. top.  These machines are still fully able to support a small user 
  1288. population, to connect to major  networks, and to perform complex 
  1289. real-time operations.  But  due to their size and  increased ease 
  1290. of operation, they  are more  vulnerable to unauthorized  access. 
  1291. Also,  multi-user  machines are  sometimes  managed by  untrained 
  1292. personnel  who  do not  have adequate  time  to devote  to proper 
  1293. system management and who may not possess  a technical background 
  1294. or  understanding  of  the  system's  operation.    Thus,  it  is 
  1295. especially important for organizations who use or are considering 
  1296. machines of this nature to pay  particular attention to the risks 
  1297. of attack by unauthorized users, viruses, and related software. 
  1298.  
  1299. The  following sections  offer guidance  and recommendations  for 
  1300. improving  the management  and reducing  the risk  of attack  for 
  1301. multi-user computers and associated networks. 
  1302.  
  1303.  
  1304. 4.1  General Policies 
  1305.  
  1306. Two general policies are  suggested here.  They are  intended for 
  1307. uniform adoption throughout an organization,  i.e., they will not 
  1308. be entirely effective if they are  not uniformly followed.  These 
  1309. policies are as follows:
  1310.  
  1311.                                4-1
  1312.  
  1313.              COMPUTER VIRUSES AND RELATED THREATS 
  1314.                            CHAPTER 4 
  1315.  
  1316.  
  1317.    o An organization must assign a dedicated system manager to 
  1318.      operate each multi-user computer.   The manager should be 
  1319.      trained,  if  necessary,  to  operate  the  system  in  a 
  1320.      practical and secure  manner.  This individual  should be 
  1321.      assigned  the  management  duties  as  part  of  his  job 
  1322.      description; the management duties should not be assigned 
  1323.      "on top"  of the  individual's other  duties, but  rather 
  1324.      adequate time should be taken  from other duties.  System 
  1325.      management  is a  demanding and  time-consuming operation 
  1326.      that can  unexpectedly require  complete dedication.   As 
  1327.      systems are increasingly inter-connected via networks,  a 
  1328.      poorly managed system that  can be used as a  pathway for 
  1329.      unauthorized access  to  other  systems  will  present  a 
  1330.      significant vulnerability to an organization.   Thus, the 
  1331.      job of system  manager should be assigned  carefully, and 
  1332.      adequate time be given  so that the job can  be performed 
  1333.      completely. 
  1334.  
  1335.    o Management needs to impress upon users the need for their 
  1336.      involvement  and  cooperation in  computer  security.   A 
  1337.      method  for  doing this  is  to create  an organizational 
  1338.      security policy.  This policy should be a superset of all 
  1339.      other  computer-related  policy,  and  should  serve   to 
  1340.      clearly define what is  expected of the user.   It should 
  1341.      detail  how  systems are  to be  used  and what  sorts of 
  1342.      computing are permitted and not  permitted.  Users should 
  1343.      read this policy  and agree  to it as  a prerequisite  to 
  1344.      computer  use.   It  would also  be  helpful to  use this 
  1345.      policy to create  other policies specific to  each multi- 
  1346.      user system.
  1347.  
  1348. 4.2  Software Management 
  1349.  
  1350. Effective  software management  can help  to make  a  system less 
  1351. vulnerable to  attack and can make containment  and recovery more 
  1352. successful.  Carefully controlled access to software will prevent 
  1353. or  discourage  unauthorized  access.   If  accurate  records and 
  1354. backups  are  maintained, software  restoral can  be accomplished 
  1355. with  a minimum of lost  time and data.  A  policy of testing all 
  1356. new  software,  especially  public-domain   software,  will  help
  1357.  
  1358.                                4-2 
  1359.  
  1360.              COMPUTER VIRUSES AND RELATED THREATS 
  1361.                          CHAPTER 4
  1362.  
  1363. prevent accidental infection  of a system by  viruses and related 
  1364. software.    Thus,  the  following  policies and  procedures  are 
  1365. recommended: 
  1366.  
  1367.    o Use only licensed copies of  vendor software, or software 
  1368.      that can be verified to be free of harmful code or  other 
  1369.      destructive aspects.  Maintain complete information about 
  1370.      the software, such  as the  vendor address and  telephone 
  1371.      number,  the  license  number  and  version,  and  update 
  1372.      information.   Store the  software in  a secure,  tamper- 
  1373.      proof location. 
  1374.    o Maintain configuration reports of all installed software, 
  1375.      including the operating system.  This information will be 
  1376.      necessary if the software must be re-installed later. 
  1377.    o Prevent user access to system software and  data.  Ensure 
  1378.      that  such  software   is  fully   protected,  and   that 
  1379.      appropriate  monitoring  is  done to  detect  attempts at 
  1380.      unauthorized access. 
  1381.    o Prohibit users  from installing software.   Users  should 
  1382.      first contact the system  manager regarding new software. 
  1383.      The software should  then be tested on an isolated system
  1384.      to determine whether the software may contain destructive 
  1385.      elements.  The isolated system should  be set up so that, 
  1386.      to a practical  degree, it replicates the  target system, 
  1387.      but does  not connect  to networks  or process  sensitive 
  1388.      data.  A highly-skilled user knowledgeable about  viruses 
  1389.      and related threats should perform the testing and ensure 
  1390.      that  the  software  does  not  change  or  delete  other 
  1391.      software or data.  Do not allow users to directly add any 
  1392.      software  to  the  system, whether  from  public software 
  1393.      repositories, or other systems, or their home systems. 
  1394.    o Teach  users  to  protect  their  data  from unauthorized 
  1395.      access.  Ensure that they know how to use access controls 
  1396.      or  file  protection mechanisms  to  prevent others  from 
  1397.      reading  or  modifying  their files.    As  possible, set 
  1398.      default file protections such that when a user  creates a 
  1399.      file, the file can  be accessed only by that user, and no 
  1400.      others.  Each user should not permit others to use his or 
  1401.      her account. 
  1402.    o Do  not   set-up  directories   to   serve  as   software 
  1403.      repositories  unless  technical  controls  are  used   to 
  1404.  
  1405.                               4-3 
  1406.  
  1407.              COMPUTER VIRUSES AND RELATED THREATS 
  1408.                         CHAPTER 4 
  1409.  
  1410.      prevent users from  writing to the directory.   Make sure 
  1411.      that users contact the system  manager regarding software 
  1412.      they wish to place in a software repository.  It would be 
  1413.      helpful  to  track  where the  software  is  installed by 
  1414.      setting up a  process whereby  users must first  register 
  1415.      their  names  before  they  can  copy software  from  the 
  1416.      directory. 
  1417.    o If  developing  software, control  the update  process so 
  1418.      that the  software is not modified without authorization. 
  1419.      Use a  software  management and  control  application  to 
  1420.      control  access  to  the  software  and to  automate  the 
  1421.      logging of modifications. 
  1422.    o Accept system and  application bug fixes or  patches only 
  1423.      from  highly  reliable  sources,  such  as  the  software 
  1424.      vendor.  Do  not accept  patches from anonymous  sources, 
  1425.      such as received via a network.  Test the new software on 
  1426.      an isolated system  to ensure that the  software does not 
  1427.      make an existing problem worse. 
  1428.  
  1429.  
  1430. 4.3  Technical Controls 
  1431.  
  1432. Many  multi-user  computers   contain  basic  built-in  technical 
  1433. controls.   These  include  user  authentication  via  passwords, 
  1434. levels of user  privilege, and  file access controls.   By  using 
  1435. these  basic  controls  effectively, managers  can  significantly 
  1436. reduce the risk of attack by  preventing or deterring viruses and 
  1437. related threats from accessing a system. 
  1438.  
  1439. Perhaps   the   most   important   technical   control   is  user 
  1440. authentication, with the most widely  form of user authentication 
  1441. being a username associated with a  password.  Every user account 
  1442. should use a password that is  deliberately chosen so that simple 
  1443. attempts  at  password  cracking  cannot  occur.    An  effective 
  1444. password should not consist of a  person's name or a recognizable 
  1445. word, but rather should consist of alphanumeric characters and/or 
  1446. strings of words  that cannot easily  be guessed.  The  passwords 
  1447. should be changed  at regular intervals,  such as every three  to 
  1448. six months.  Some systems include or can be modified to include a 
  1449. password history, to  prevent users  from reusing old  passwords. 
  1450.  
  1451.  
  1452.                                  4-4 
  1453.  
  1454.                 COMPUTER VIRUSES AND RELATED THREATS 
  1455.                                CHAPTER 4 
  1456.  
  1457.  
  1458. For   more  information  on  effective  password  practices,  see 
  1459. [FIPS73]. 
  1460.  
  1461. The  username/password mechanism  can  sometimes be  modified  to 
  1462. reduce opportunities  for password  cracking.  One  method is  to 
  1463. increase the running time of  the password encryption to  several 
  1464. seconds.   Another method is to  cause the user login  program to 
  1465. accept from three  to five incorrect  password attempts in a  row 
  1466. before disabling  the  user account  for several  minutes.   Both 
  1467. methods  significantly  increase the  amount  of time  a password 
  1468. cracker would spend  when making repeated attempts at  guessing a 
  1469. password.  A method for ensuring  that passwords are difficult to 
  1470. crack involves  the use  of a  program that  could systematically 
  1471. guess passwords,  and then  send warning messages  to the  system 
  1472. manager and corresponding users if successful.  The program could 
  1473. attempt passwords that  are permutations of each  user's name, as 
  1474. well as using words from an on-line dictionary. 
  1475.  
  1476. Besides  user  authentication,   access  control  mechanisms  are 
  1477. perhaps  the  next  most  important  technical control.    Access 
  1478. control mechanisms permit a system  manager to selectively permit 
  1479. or bar user access  to system resources regardless of  the user's 
  1480. level of privilege.  For example, a user at a low-level of system 
  1481. privilege  can be granted access to a  resource at a higher level 
  1482. of privilege without raising the user's privilege through the use 
  1483. of an access  control that specifically grants that  user access. 
  1484. Usually,  the access control  can determine  the type  of access, 
  1485. e.g.,  read  or  write.   Some  access  controls  can send  alarm 
  1486. messages  to audit logs  or the system  manager when unsuccessful 
  1487. attempts are  made  to access  resources protected  by an  access 
  1488. control. 
  1489.  
  1490. Systems which do not use access controls  usually contain another 
  1491. more  basic form  that grants  access based  on user  categories. 
  1492. Usually, there are four: owner, where only the user who "owns" or 
  1493. creates the resource  can access it;  group, where anyone in  the 
  1494. same group as the owner can access the resource; world, where all 
  1495. users can access  the resource, and system, which  supersedes all 
  1496. other user privileges.   Usually, a file or directory can  be set 
  1497.  
  1498.  
  1499.                                  4-5 
  1500.  
  1501.  
  1502.                COMPUTER VIRUSES AND RELATED THREATS 
  1503.                          CHAPTER 4 
  1504.  
  1505.  
  1506. up to allow any combination of the four.  Unlike access controls, 
  1507. this scheme doesn't permit access to resources on a specific user 
  1508. basis, thus if a user at a low level of privilege requires access 
  1509. to  a  system level  resource, the  user  must be  granted system 
  1510. privilege.    However,   if  used  carefully,  this   scheme  can 
  1511. adequately  protect  users'  files from  being  accessed  without 
  1512. authorization.  The  most effective  mode is to  create a  unique 
  1513. group  for each  user.   Some systems  may permit a  default file 
  1514. permission mask  to be set  so that every  file created would  be 
  1515. accessible only by the file's owner. 
  1516.  
  1517. Other technical control guidelines are as follows: 
  1518.  
  1519.    o Do  not  use  the  same   password  on  several  systems. 
  1520.      Additionally,  sets  of   computers  that  are   mutually 
  1521.      trusting in the sense that login to one constitutes login 
  1522.      to all should be carefully controlled. 
  1523.    o Disable  or  remove  old  or unnecessary  user  accounts. 
  1524.      Whenever users leave  an organization or no  longer use a 
  1525.      system, change all passwords that the users had knowledge 
  1526.      of. 
  1527.    o Practice a  "least privilege"  policy, whereby  users are 
  1528.      restricted to accessing resources on a need-to-know basis 
  1529.      only.    User  privileges  should  be as  restricting  as 
  1530.      possible without adversely  affecting the performance  of 
  1531.      their  work.   To  determine  what  level  of  access  is 
  1532.      required, err first  by setting privileges to  their most 
  1533.      restrictive,  and  upgrade  them as  necessary.    If the 
  1534.      system uses access controls, attempt to maintain a user's 
  1535.      system privileges at  a low level while using  the access 
  1536.      controls  to  specifically grant  access to  the required 
  1537.      resources. 
  1538.    o Users are generally able to determine other users' access 
  1539.      to their files  and directories,  thus instruct users  to 
  1540.      carefully maintain their files  and directories such that 
  1541.      they are not accessible,  or at a minimum,  not writable, 
  1542.      by  other  users.     As   possible,  set  default   file 
  1543.      protections such  that files  and directories created  by 
  1544.      each user are accessible by only that user. 
  1545.  
  1546.  
  1547.                                4-6 
  1548.  
  1549.                COMPUTER VIRUSES AND RELATED THREATS 
  1550.                             CHAPTER 4 
  1551.  
  1552.  
  1553.    o When  using modems,  do not  provide more  access to  the 
  1554.      system than is necessary.  For  example, if only dial-out 
  1555.      service  is required, set up the  modem or telephone line 
  1556.      so  that dial-in  service is  not  possible.   If dial-in 
  1557.      service  is   necessary,  use  modems  that   require  an 
  1558.      additional  passwords  or  modems  that  use  a call-back 
  1559.      mechanism.  These modems may work such that a caller must 
  1560.      first  identify   himself  to   the  system.     If   the 
  1561.      identification has been pre-recorded with  the system and 
  1562.      therefore valid,  the system  then calls  back at  a pre- 
  1563.      recorded telephone number. 
  1564.    o If file  encryption mechanisms are  available, make  them 
  1565.      accessible to users.  Users may wish to use encryption as 
  1566.      a  further  means of  protecting  the confidentiality  of 
  1567.      their files, especially  if the system is  accessible via 
  1568.      networks or modems. 
  1569.    o Include  software so  that users  can temporarily  "lock" 
  1570.      their terminals from accepting keystrokes while they  are 
  1571.      away.  Use software that  automatically disables a user's 
  1572.      account if no  activity occurs after a  certain interval, 
  1573.      such as 10 - 15 minutes. 
  1574.  
  1575.  
  1576. 4.4  Monitoring 
  1577.  
  1578. Many  multi-user systems  provide a  mechanism for  automatically 
  1579. recording  some  aspects  of  user  and  system  activity.   This 
  1580. monitoring  mechanism,  if  used regularly,  can  help  to detect 
  1581. evidence of viruses and  related threats.  Early detection  is of 
  1582. great  value, because  malicious software  potentially can  cause 
  1583. significant damage within a matter of  minutes.  Once evidence of 
  1584. an  attack  has  been  verified,  managers  can  use  contingency 
  1585. procedures to contain and recover from any resultant damage.
  1586.  
  1587. Effective  monitoring   also  requires   user  involvement,   and 
  1588. therefore,  user education.  Users must  have some guidelines for 
  1589. what constitutes normal and abnormal  system activity.  They need 
  1590. to be aware of such items  as whether files have been changed  in 
  1591. content,  date, or by access permissions,  whether disk space has 
  1592. become suddenly full, and whether  abnormal error messages occur. 
  1593.  
  1594.                              4-7 
  1595.  
  1596.              COMPUTER VIRUSES AND RELATED THREATS 
  1597.                           CHAPTER 4 
  1598.  
  1599.  
  1600. They need to know whom to contact to report signs of  trouble and 
  1601. then the steps to take to contain any damage. 
  1602.  
  1603. The following  policies and procedures  for effective  monitoring 
  1604. are recommended: 
  1605.  
  1606.    o Use  the  system   monitoring/auditing  tools  that   are 
  1607.      available.    Follow the  procedures  recommended  by the 
  1608.      system vendor, or start out by enabling the full level or 
  1609.      most  detailed  level  of  monitoring.     Use  tools  as 
  1610.      available to help read the logs, and determine what level 
  1611.      of monitoring is adequate,  and cut back on the  level of 
  1612.      detail  as  necessary.   Be  on the  guard  for excessive 
  1613.      attempts to access  accounts or other resources  that are 
  1614.      protected.  Examine the log regularly, at least weekly if 
  1615.      not more often. 
  1616.    o As  a  further aid  to  monitoring, use  alarm mechanisms 
  1617.      found in some access  controls.  These mechanisms  send a 
  1618.      message to the audit  log whenever an attempt is  made to 
  1619.      access a resource protected by an access control. 
  1620.    o If no system  monitoring is available, or  if the present 
  1621.      mechanism is unwieldy or not sufficient,  investigate and 
  1622.      purchase  other  monitoring  tools as  available.    Some 
  1623.      third-party software companies sell monitoring tools  for 
  1624.      major operating systems  with capabilities that supersede 
  1625.      those of the vendor's. 
  1626.    o Educate  users  so  that   they  understand  the   normal 
  1627.      operating  aspects of the system.   Ensure that they have 
  1628.      quick access  to an  individual or  group who  can answer 
  1629.      their   questions   and   investigate   potential   virus 
  1630.      incidents. 
  1631.    o Purchase or build system sweep programs to checksum files 
  1632.      at night, and report differences from previous runs.  Use 
  1633.      a password checker to monitor whether passwords are being 
  1634.      used effectively. 
  1635.    o Always report,  log, and  investigate security  problems, 
  1636.      even when the problems appear insignificant.  Use the log 
  1637.      as input into regular security reviews.  Use the  reviews 
  1638.      as a means  for evaluating the effectiveness  of security 
  1639.      policies and procedures. 
  1640.  
  1641.                               4-8 
  1642.  
  1643.              COMPUTER VIRUSES AND RELATED THREATS 
  1644.                         CHAPTER 4
  1645.  
  1646.  
  1647.    o Enforce  some  form   of  sanctions  against   users  who 
  1648.      consistently  violate  or  attempt  to  violate  security
  1649.      policies and procedures.  Use the audit logs as evidence, 
  1650.      and bar the users from system use. 
  1651.  
  1652.  
  1653. 4.5  Contingency Planning 
  1654.  
  1655. As  stressed  in  Chapter  3,  backups  are  the  most  important 
  1656. contingency planning  activity.  A  system manager must  plan for 
  1657. the eventuality of having  to restore all software and  data from 
  1658. backup  tapes  for any  number  of  reasons, such  as  disk drive 
  1659. failure or upgrades.  It has been shown that viruses and  related 
  1660. threats  could potentially  and unexpectedly  destroy all  system 
  1661. information  or  render  it  useless,  thus managers  should  pay 
  1662. particular   attention  to  the  effectiveness  of  their  backup 
  1663. policies.   Backup  policies  will vary  from  system to  system, 
  1664. however they should be performed daily, with a minimum of several 
  1665. months backup history.   Backup  tapes should be  verified to  be 
  1666. accurate, and should be stored off-site in a secured location.
  1667.  
  1668. Viruses and  related software threats  could go  undetected in  a 
  1669. system  for months  to years, and  thus could be  backed up along 
  1670. with  normal  system data.    If  such a  program  would suddenly 
  1671. trigger  and cause damage, it may  require much searching through 
  1672. old backups to determine  when the program first appeared  or was 
  1673. infected.   Therefore the safest  policy is to  restore programs, 
  1674. i.e., executable and  command files,  from their original  vendor 
  1675. media only.   Only system data  that is non-executable should  be 
  1676. restored from regular backups.  Of course, in the case of command 
  1677. files or batch procedures  that are developed or modified  in the 
  1678. course of daily system  activity, these may need to  be inspected 
  1679. manually to ensure that they have not been modified or damaged. 
  1680.  
  1681. Other recommended contingency planning activities are as follows: 
  1682.  
  1683.    o Create a security distribution list  for hand-out to each 
  1684.      user.  The list should include  the system manager's name 
  1685.      and number, and other similar information for individuals 
  1686.  
  1687.  
  1688.                                  4-9 
  1689.  
  1690.           COMPUTER VIRUSES AND RELATED THREATS 
  1691.                          CHAPTER 4 
  1692.  
  1693.  
  1694.      who can  answer  users'  questions  about  suspicious  or 
  1695.      unusual system activity.   The list should  indicate when 
  1696.      to contact these individuals, and where to reach  them in 
  1697.      emergencies. 
  1698.  
  1699.    o Coordinate with  other  system  managers,  especially  if 
  1700.      their  computers  are  connected  to  the  same  network. 
  1701.      Ensure that all can be contacted  quickly in the event of 
  1702.      a network emergency  by using  some mechanism other  than 
  1703.      the network. 
  1704.    o Besides  observing physical  security for  the system  as 
  1705.      well as its  software and backup media,  locate terminals 
  1706.      in offices that can be locked or in other secure areas. 
  1707.    o If users are accessing the  system via personal computers 
  1708.      and terminal emulation  software, keep a record  of where 
  1709.      the personal computers  are located and their  network or 
  1710.      port address for monitoring  purposes.  Control carefully 
  1711.      whether such users are uploading software to the system. 
  1712.    o Exercise caution when  accepting system patches.   Do not 
  1713.      accept patches that arrive over a network unless there is 
  1714.      a high degree of certainty  as to their validity.  It  is 
  1715.      best to accept patches only from the appropriate software 
  1716.      vendor. 
  1717.  
  1718.  
  1719. 4.6  Associated Network Concerns 
  1720.  
  1721. Multi-user  computers are  more often associated  with relatively 
  1722. large  networks  than  very  localized  local  area  networks  or 
  1723. personal  computer  networks  that  may   use  dedicated  network 
  1724. servers.  The viewpoint taken here is that wide area network  and 
  1725. large local  area network  security is  essentially a  collective 
  1726. function of the systems connected to the network, i.e., it is not 
  1727. practical for a controlling system to monitor all network traffic
  1728. and differentiate  between authorized  and unauthorized  use.   A 
  1729. system manager  should generally assume that  network connections 
  1730. pose inherent risks of  unauthorized access to the system  in the 
  1731. forms  of unauthorized  users and  malicious software.   Thus,  a 
  1732. system manager  needs to  protect the  system from  network-borne 
  1733. threats and likewise exercise responsibility by ensuring that his 
  1734.  
  1735.                                  4-10 
  1736.  
  1737.                COMPUTER VIRUSES AND RELATED THREATS 
  1738.                               CHAPTER 4 
  1739.  
  1740.  
  1741. system is not  a source of such  threats, while at the  same time 
  1742. making  network connections available to users as necessary.  The 
  1743. accomplishment  of these aims  will require the  use of technical 
  1744. controls  to  restrict  certain types  of  access,  monitoring to 
  1745. detect violations, and a certain amount  of trust that users will 
  1746. use the controls and follow the policies.
  1747.  
  1748. Some guidelines for using networks in a more secure manner are as 
  1749. follows: 
  1750.  
  1751.    o Assume  that network  connections  elevate  the  risk  of 
  1752.      unauthorized access.  Place network connections on system 
  1753.      which  provide adequate  controls,  such  as strong  user 
  1754.      authentication  and  access  control  mechanisms.   Avoid 
  1755.      placing  network  connections  on  system  which  process 
  1756.      sensitive data. 
  1757.    o If the system permits, require  an additional password or 
  1758.      form of authentication for accounts accessed from network 
  1759.      ports.    If possible,  do  not permit  access  to system 
  1760.      manager accounts from network ports. 
  1761.    o If  anonymous   or  guest   accounts   are  used,   place 
  1762.      restrictions  on  the  types  of  commands  that  can  be 
  1763.      executed  from  the  account.    Don't permit  access  to 
  1764.      software tools,  commands that  can increase  privileges, 
  1765.      and so forth. 
  1766.    o As  possible,  monitor usage  of the  network.   Check if 
  1767.      network connections are made at odd hours, such as during 
  1768.      the night, or if repeated attempts are made  to log in to 
  1769.      the system from a network port. 
  1770.    o When more  than  one computer  is connected  to the  same 
  1771.      network,  arrange the  connections  so that  one  machine 
  1772.      serves as a central gateway for the other machines.  This 
  1773.      will allow a rapid disconnect from the network in case of 
  1774.      an attack. 
  1775.    o Ensure that users  are fully  educated in network  usage. 
  1776.      Make  them  aware  of the  additional  risks  involved in 
  1777.      network access.  Instruct them to be on the alert for any 
  1778.      signs of tampering, and to  contact an appropriate person 
  1779.      if they detect any suspicious activity.  Create a  policy 
  1780.      for responsible network  usage that details what  sort of 
  1781.  
  1782.                               4-11 
  1783.  
  1784.            COMPUTER VIRUSES AND RELATED THREATS 
  1785.                        CHAPTER 4
  1786.  
  1787.  
  1788.      computing activity will and will  not be tolerated.  Have 
  1789.      users read the policy as a prerequisite to network use. 
  1790.    o Warn  users to  be suspicious  of  any messages  that are 
  1791.      received from unidentified or unknown sources. 
  1792.    o Don't advertise  a system  to network  users by  printing 
  1793.      more information than necessary on a welcome banner.  For 
  1794.      example, don't include  messages such as "Welcome  to the 
  1795.      Payroll Accounting System"  that may cause the  system to 
  1796.      be more attractive to unauthorized users. 
  1797.    o Don't network  to outside organizations  without a mutual 
  1798.      review of security practices 
  1799.  
  1800.  
  1801.  
  1802.  
  1803.  
  1804.  
  1805.  
  1806.  
  1807.  
  1808.  
  1809.  
  1810.  
  1811.  
  1812.  
  1813.  
  1814.  
  1815.  
  1816.  
  1817.  
  1818.  
  1819.  
  1820.  
  1821.  
  1822.  
  1823.  
  1824.  
  1825.  
  1826.  
  1827.  
  1828.  
  1829.                              4-12 
  1830.  
  1831.                  COMPUTER VIRUSES AND RELATED THREATS 
  1832.                               CHAPTER 5 
  1833.  
  1834.  
  1835. 5. Virus Prevention for Personal Computers 
  1836.    and Associated Networks 
  1837.  
  1838.  
  1839. Virus  prevention in  the personal  computer  environment differs 
  1840. from  that of the  multi-user computer environment  mainly in the 
  1841. following two respects:  the relative lack of technical controls, 
  1842. and  the  resultant  emphasis  this  places  on  less-technically 
  1843. oriented means of protection which  necessitates more reliance on 
  1844. user involvement.   Personal computers  typically do not  provide 
  1845. technical controls for such things  as user authorization, access 
  1846. controls, or memory protection that differentiates between system 
  1847. memory and memory used by user applications.  Because of the lack 
  1848. of controls and the resultant freedom  with which users can share 
  1849. and modify software, personal computers are more  prone to attack 
  1850. by viruses, unauthorized users, and related threats. 
  1851.  
  1852. Virus prevention in  the personal computer environment  must rely 
  1853. on  continual  user  awareness  to  adequately  detect  potential 
  1854. threats  and  then  to  contain  and  recover  from  the  damage. 
  1855. Personal   computer  users  are   in  essence  personal  computer 
  1856. managers, and must practice  their management as a part  of their 
  1857. general computing.   Personal computers generally do  not contain 
  1858. auditing features, thus a user needs to be aware at all  times of 
  1859. the computer's performance,  i.e., what it  is doing, or what  is 
  1860. normal or abnormal activity.  Ultimately, personal computer users 
  1861. need  to  understand  some  of  the  technical aspects  of  their 
  1862. computers in order to protect, deter,  contain, and recover.  Not 
  1863. all personal computer  users are technically oriented,  thus this 
  1864. poses  some  problems  and  places  even  more emphasis  on  user 
  1865. education and involvement in virus prevention. 
  1866.  
  1867. Because of the dependance on  user involvement, policies for  the 
  1868. personal  computer environment  are more  difficult to  implement 
  1869. than  in   the   multi-user  computer   environment.     However, 
  1870. emphasizing  these policies as  part of a  user education program 
  1871. will help to ingrain  them in users'  behavior.  Users should  be 
  1872. shown  via  examples what  can happen  if  they don't  follow the 
  1873. policies.   An example  where users  share infected  software and 
  1874.  
  1875.  
  1876.                                5-1 
  1877.  
  1878.                  COMPUTER VIRUSES AND RELATED THREATS 
  1879.                                CHAPTER 5 
  1880.  
  1881.  
  1882. then spread the  software throughout an organization  would serve 
  1883. to effectively illustrate  the point, thus making the  purpose of 
  1884. the policy  more clear and more  likely to be  followed.  Another 
  1885. effective method for  increasing user cooperation is  to create a 
  1886. list of effective personal computer management practices specific 
  1887. to  each personal computing  environment.   Creating such  a list 
  1888. would save users the problem of determining how best to enact the 
  1889. policies,  and would serve  as a convenient  checklist that users 
  1890. could reference as necessary. 
  1891.  
  1892. It will  likely be  years before  personal computers  incorporate 
  1893. strong  technical  controls  in  their  architectures.    In  the 
  1894. meantime,  managers  and  users  must  be  actively  involved  in 
  1895. protecting their computers from viruses and related threats.  The 
  1896. following sections provide guidance to help achieve that aim. 
  1897.  
  1898. 5.1  General Policies 
  1899.  
  1900. Two general policies are suggested here.  The first requires that 
  1901. management  make  firm,  unambiguous decisions  as  to  how users 
  1902. should  operate  personal  computers, and  state  that  policy in 
  1903. writing.  This policy will be a general re-statement of all other 
  1904. policies affecting personal computer use.   It is important  that 
  1905. users  read  this  policy  and  agree  to  its  conditions  as  a 
  1906. prerequisite to  personal  computer use.    The purposes  of  the 
  1907. policy are  to  (1) ensure that users  are aware of all policies, 
  1908. and (2) impress upon users the  need for their active involvement 
  1909. in computer security.
  1910.  
  1911. The second policy is that every  personal computer should have an 
  1912. "owner"  or  "system   manager"  who   is  responsible  for   the 
  1913. maintenance and security of the  computer, and for following  all 
  1914. policies and procedures associated with  the use of the computer. 
  1915. It would be preferable that the primary user of the computer fill 
  1916. this  role.    It  would   not  be  too  extreme  to   make  this 
  1917. responsibility a part of the user's job description.  This policy 
  1918. will require that resources  be spent on educating users  so that 
  1919. they can adequately follow all policies and procedures. 
  1920.  
  1921.  
  1922.  
  1923.                               5-2 
  1924.  
  1925.                 COMPUTER VIRUSES AND RELATED THREATS 
  1926.                             CHAPTER 5 
  1927.  
  1928.  
  1929. 5.2  Software Management 
  1930.  
  1931. Due  to the wide variety of  software available for many types of 
  1932. personal computers, it  is especially important that  software be 
  1933. carefully controlled.  The following policies are suggested: 
  1934.  
  1935.    o Use only licensed copies of  vendor software for personal 
  1936.      computers.  Ensure  that the license numbers  are logged, 
  1937.      that warranty information is completed, and  that updates 
  1938.      or  update  notices  will be  mailed  to  the appropriate 
  1939.      users.   Ensure that software versions are uniform on all 
  1940.      personal  computers.     Purchase  software  from  known, 
  1941.      reputable  sources  - do  not  purchase software  that is 
  1942.      priced suspiciously low and do  not use pirated software, 
  1943.      even on a  trial basis.   As possible, buy software  with 
  1944.      built-in security features. 
  1945.    o Do not install software that is  not clearly needed.  For 
  1946.      example, software  tools such  as compilers  or debuggers 
  1947.      should not  be installed on  machines where they  are not 
  1948.      needed. 
  1949.    o Store the original copies of vendor software in  a secure 
  1950.      location for use when restoring the software. 
  1951.    o Develop a clear policy for  use of public-domain software 
  1952.      and  shareware.    It  is  recommended  that  the  policy 
  1953.      prohibit   indiscriminate   downloading   from   software 
  1954.      bulletin boards.   A  special isolated  system should  be
  1955.       configured to  perform the  downloading, as  well as  for 
  1956.      testing downloaded and other software  or shareware.  The 
  1957.      operation  of  the   system  should   be  managed  by   a 
  1958.      technically skilled user who  can use anti-virus software 
  1959.      and other techniques  to test new  software before it  is 
  1960.      released for use by other users. 
  1961.    o Maintain   an   easily-updated   database  of   installed 
  1962.      software.  For each type of software, the database should 
  1963.      list the computers  where the software is  installed, the 
  1964.      license  numbers,  software  version  number, the  vendor 
  1965.      contact  information, and the responsible person for each 
  1966.      computer listed.  This database should be used to quickly 
  1967.      identify users, machines, and  software when problems  or
  1968.      
  1969.       
  1970.                               5-3 
  1971.  
  1972.                  COMPUTER VIRUSES AND RELATED THREATS 
  1973.                             CHAPTER 5 
  1974.  
  1975.  
  1976. emergencies  arise,  such as  when  a particular  type of 
  1977. software  is  discovered  to  contain  a virus  or  other 
  1978. harmful aspects. 
  1979.  
  1980.    o Minimize software  sharing within  the organization.   Do 
  1981.      not permit software to be  placed on computers unless the 
  1982.      proper manager is  notified and the software  database is 
  1983.      updated.    If computer  networks  permit software  to be 
  1984.      mailed or otherwise transferred among machines,  prohibit 
  1985.      this as a  policy.   Instruct users not  to run  software 
  1986.      that has been mailed to them. 
  1987.    o If using software repositories on LAN servers, set up the 
  1988.      server  directory  such  that  users  can copy  from  the 
  1989.      directory, but not add software to the directory.  Assign 
  1990.      a user  to  manage the  repository;  all updates  to  the 
  1991.      repository  should  be cleared  through  this individual. 
  1992.      The software  should be tested  on an isolated  system as 
  1993.      described earlier. 
  1994.    o If  developing software,  consider  the  use of  software 
  1995.      management  and  control  programs that  automate  record 
  1996.      keeping for software  updates, and that provide  a degree 
  1997.      of protection  against unauthorized modifications  to the 
  1998.      software under development. 
  1999.    o Prohibit users from  using software  or disks from  their 
  2000.      home  systems.   A  home system  that  is used  to access 
  2001.      software bulletin boards  or that  uses shared copies  of 
  2002.      software  could  be   infected  with  viruses  or   other 
  2003.      malicious software. 
  2004.      
  2005.      
  2006. 5.3  Technical Controls 
  2007.  
  2008. As stated earlier, personal computers suffer from a relative lack 
  2009. of technical controls.  There are  usually no mechanisms for user 
  2010. authentication  and   for  preventing  users  or   software  from 
  2011. modifying  system  and  application  software.    Generally,  all 
  2012. software  and  hardware is  accessible  by the  personal computer 
  2013. user, thus the potential for misuse is substantially greater than 
  2014. in the multi-user computer environment. 
  2015.  
  2016.  
  2017.                                  5-4 
  2018.  
  2019.             COMPUTER VIRUSES AND RELATED THREATS 
  2020.                          CHAPTER 5 
  2021.  
  2022.  
  2023. However,  some  technical  controls  can  be  added  to  personal 
  2024. computers,  e.g., user  authentication  devices.   The  technical 
  2025. controls that do  not exist can  be simulated by other  controls, 
  2026. such as  a  lock on  an  office door  to  substitute for  a  user 
  2027. authentication device, or  anti-virus software to take  the place 
  2028. of  system  auditing  software.   Lastly,  some  of  the personal 
  2029. computer's accessibility can  be reduced, such as  by the removal 
  2030. of floppy diskette  drives or  by the use  of diskless  computers 
  2031. that  must  download  their software  from  a  LAN  server.   The 
  2032. following items are suggested: 
  2033.  
  2034.    o Where technical controls  exist, use them.  If basic file 
  2035.      access  controls are  available to make  files read-only, 
  2036.      make  sure  that   operating  system   files  and   other 
  2037.      executable files  are marked  as read-only.   Use  write- 
  2038.      protect  tabs on  floppy  diskettes and  tapes.   If  LAN 
  2039.      access  requires a  password, ensure  that passwords  are 
  2040.      used  carefully  - follow    the guidelines  for password 
  2041.      usage presented in Chapter 4 or see [FIPS73]. 
  2042.    o Use new cost-effective forms of  user identification such 
  2043.      as magnetic access cards.   Or, setup other software such 
  2044.      as  password   mechanism   that  at   a  minimum   deters 
  2045.      unauthorized users. 
  2046.    o If  using  a  LAN,   consider  downloading  the  personal 
  2047.      computer's operating system and other applications from a 
  2048.      read-only directory  on the  LAN server  (instead of  the 
  2049.      personal computer's  hard disk).   If the  LAN server  is 
  2050.      well  protected,  this  arrangement  would  significantly 
  2051.      reduce  chances of  the software  becoming infected,  and 
  2052.      would simplify software management. 
  2053.    o Consider booting personal computers  from write-protected 
  2054.      floppy diskettes (instead  of the computer's hard  disk). 
  2055.      Use a unique diskette per computer, and keep the diskette 
  2056.      secured when not in use. 
  2057.    o Do not leave a personal  computer running but unattended. 
  2058.      Lock the computer with a  hardware lock (if possible), or 
  2059.      purchase  vendor add-on  software to "lock"  the keyboard 
  2060.      using a password mechanism.   Alternatively, turn off the 
  2061.      computer and lock  the office door.   Shut down and  lock 
  2062.      the computer at the end of the day.
  2063.  
  2064.                                   5-5 
  2065.  
  2066.              COMPUTER VIRUSES AND RELATED THREATS 
  2067.                         CHAPTER 5 
  2068.  
  2069.  
  2070.    o When using modems connected to personal computers, do not 
  2071.      provide more access to  the computer than necessary.   If 
  2072.      only dial-out service is required, configure the modem so 
  2073.      that  it  won't answer  calls.    If  dial-in service  is 
  2074.      necessary,  consider  purchasing  modems  that require  a 
  2075.      password or  that use  a call-back  mechanism to  force a 
  2076.      caller to call from  a telephone number that is  known to 
  2077.      the modem. 
  2078.    o Consider   using   "limited-use"  systems,   whereby  the 
  2079.      capabilities of a system  are restricted to only  what is 
  2080.      absolutely  required.  For example, users  who run only a 
  2081.      certain  application  (such  as word-processor)  may  not 
  2082.      require  the flexibility of a  personal computer.  At the 
  2083.      minimum,   do  not   install   applications  or   network 
  2084.      connections where they are not needed. 
  2085.  
  2086. 5.4  Monitoring 
  2087.  
  2088. Personal computer operating systems typically  do not provide any 
  2089. software or user monitoring/auditing features.  Monitoring, then, 
  2090. is largely a user function whereby the user must be aware of what 
  2091. the computer is doing, such as when the computer is accessing the 
  2092. disk or the  general speed of its response  to commands, and then 
  2093. must decide whether  the activity is  normal or abnormal.   Anti- 
  2094. viral software can  be added to the  operating system and run  in 
  2095. such  a way that the software flags  or in some way alerts a user 
  2096. when suspicious  activity occurs, such as when  critical files or 
  2097. memory regions are written. 
  2098.  
  2099. Effective monitoring depends on user education.  Users must  know 
  2100. what constitutes normal  and abnormal activity on  their personal 
  2101. computers.  They need to have  a reporting structure available so 
  2102. that they  can alert an informed individual  to determine whether 
  2103. there is indeed  a problem.  They need to know  the steps to take 
  2104. to  contain the damage, and how  to recover.  Thus, the following 
  2105. policies and procedures are recommended: 
  2106.  
  2107.    o Form a team  of skilled  technical people to  investigate 
  2108.      problems reported  by users.   This same  group could  be 
  2109.      responsible for other aspects  of virus prevention,  such 
  2110.  
  2111.                                 5-6 
  2112.  
  2113.              COMPUTER VIRUSES AND RELATED THREATS 
  2114.                              CHAPTER 5 
  2115.  
  2116.  
  2117.      as testing new software and  handling the containment and 
  2118.      recovery from virus-related incidents.  Ensure that users 
  2119.      have quick  access to this  group, e.g., via  a telephone 
  2120.      number. 
  2121.    o Educate users  so that they  are familiar with  how their 
  2122.      computers function.  Show  them how to use such  items as 
  2123.      anti-viral  software.    Acquaint  them  with  how  their 
  2124.      computers boot, what  files are loaded, whether  start-up 
  2125.      batch files are executed, and so forth. 
  2126.    o Users need  to watch for  changes in  patterns of  system 
  2127.      activity.   They  need to  watch  for program  loads that 
  2128.      suddenly  take   longer,  whether   disk  accesses   seem 
  2129.      excessive for  simple tasks,  do  unusual error  messages 
  2130.      occur, do access  lights for disks  turn on when no  disk 
  2131.      activity  should  occur,  is less  memory  available than 
  2132.      usual, do  files  disappear mysteriously,  is there  less 
  2133.      disk space than normal? 
  2134.    o Users also need  to examine whether important  files have 
  2135.      changed  in size,  date, or  content.   Such  files would 
  2136.      include the operating system, regularly-run applications, 
  2137.      and  other batch  files.   System sweep  programs may  be 
  2138.      purchased  or  built  to  perform  checksums on  selected 
  2139.      files, and then  to report whether changes  have occurred 
  2140.      since the last time the program was run. 
  2141.    o Purchase virus prevention  software as applicable.   At a 
  2142.      minimum,  use  anti-viral software  to test  new software 
  2143.      before  releasing it  to other  users.   However,  do not 
  2144.      download or use pirated copies of anti-viral software. 
  2145.    o Always  report, log,  and investigate  security problems, 
  2146.      even when the  problems appear  insignificant.  Then  use 
  2147.      the log as input into regular  security reviews.  Use the 
  2148.      reviews as a  means for  evaluating the effectiveness  of 
  2149.      security policies and procedures. 
  2150.  
  2151.  
  2152. 5.5  Contingency Planning 
  2153.  
  2154. As described in Chapter 3, backups  are the single most important 
  2155. contingency procedure.   It is especially important  to emphasize 
  2156. regular  backups  for personal  computers,  due to  their greater 
  2157.  
  2158.                               5-7 
  2159.  
  2160.             COMPUTER VIRUSES AND RELATED THREATS 
  2161.                            CHAPTER 5 
  2162.  
  2163.  
  2164. susceptibility  to misuse  and due  to the  usual requirement  of 
  2165. direct user involvement  in the backup procedure, unlike  that of 
  2166. multi-user computers.  Because of the second  factor, where users 
  2167. must  directly  copy  files  to one  or  more  floppy  diskettes, 
  2168. personal  computer  backups  are sometimes  ignored  or  not done 
  2169. completely.   To  help ensure  that backups  are done  regularly, 
  2170. external backup mechanisms that use a high-density tape cartridge 
  2171. can be purchased  and a user assigned to run the backup procedure 
  2172. on  a  regular  basis.    Additionally,  some  personal  computer 
  2173. networks  contain  a personal  computer  backup feature,  where a 
  2174. computer can directly access a network server's backup mechanism, 
  2175. sometimes in an off-line mode at a selected time.  If  neither of 
  2176. these mechanisms are available, then  users must be supplied with 
  2177. an adequate number of  diskettes to make complete backups  and to 
  2178. maintain a reasonable amount of backup history, with a minimum of 
  2179. several weeks. 
  2180.  
  2181. Users  should  maintain  the  original  installation  media   for 
  2182. software applications and  store it in a  secure area, such  as a 
  2183. locked cabinet, container, or  desk.  If a user  needs to restore 
  2184. software, the user should  use only the original media;  the user 
  2185. should not use  any other type of  backup or a copy  belonging to 
  2186. another user, as  they could be infected or damaged  by some form 
  2187. of malicious software. 
  2188.  
  2189. The effectiveness of  a backup policy can be  judged by whether a 
  2190. user  is able  to recover  with  a minimum  loss of  data  from a 
  2191. situation whereby  the user would  have to format  the computer's 
  2192. disk and  reload all  software.  Several  incidents of  malicious 
  2193. software have required  that users go to this length to recover - 
  2194. see [MACAFEE89]. 
  2195.  
  2196. Other important contingency procedures are described below: 
  2197.  
  2198.    o Maintain  a  database of  personal  computer information. 
  2199.      Each record should  include items such as  the computer's 
  2200.      configuration, i.e., network connections,  disks, modems, 
  2201.      etc.,  the  computer's  location,  how  it is  used,  the 
  2202.      software it runs, and the  name of the computer's primary 
  2203.      user/manager.  Maintain this database to facilitate rapid 
  2204.  
  2205.                               5-8 
  2206.  
  2207.              COMPUTER VIRUSES AND RELATED THREATS 
  2208.                          CHAPTER 5 
  2209.  
  2210.  
  2211. communication and identification  when security  problems 
  2212. arise. 
  2213.  
  2214.    o Create a security  distribution list for each user.   The 
  2215.      list should include  names of people  to contact who  can 
  2216.      help identify the cause of unusual computer activity, and 
  2217.      other  appropriate  security  personnel to  contact  when 
  2218.      actual problems arise. 
  2219.    o Create a group of skilled users who can respond to users' 
  2220.      inquiries  regarding virus detection.   This group should 
  2221.      be  able to determine when a  computer has been attacked, 
  2222.      and how best to contain and recover from the problem. 
  2223.    o Set up some means of  distributing information rapidly to 
  2224.      all affected users  in the event  of an emergency.   This 
  2225.      should not  rely upon a computer network,  as the network 
  2226.      could actually  be attacked,  but could  use other  means 
  2227.      such  as   telephone  mail  or  a   general  announcement 
  2228.      mechanism. 
  2229.    o Observe physical security for personal computers.  Locate 
  2230.      them  in  offices  that can  be  locked.    Do not  store 
  2231.      software and backups in unsecured cabinets.
  2232.  
  2233. 5.6  Associated Network Concerns 
  2234.  
  2235.  
  2236. Personal  computer  networks  offer  many  advantages  to  users, 
  2237. however  they  must be  managed  carefully  so that  they  do not 
  2238. increase  vulnerability  to viruses  and  related threats.   Used 
  2239. incorrectly,   they  can   become   an   additional  pathway   to 
  2240. unauthorized  access  to  systems,  and  can  be  used  to  plant 
  2241. malicious software such as network worms.   This section does not 
  2242. provide specific management guidance, as there are many different 
  2243. types of personal  computer networks with widely  varying degrees 
  2244. of similarity.   However, some general suggestions  for improving 
  2245. basic management are listed below:
  2246.  
  2247.    o Assign  a network  administrator,  and make  the required 
  2248.      duties  part  of  the  administrator's  job  description. 
  2249.      Personal  computer  networks  are  becoming  increasingly 
  2250.      complex to administer, thus the administration should not 
  2251.  
  2252.                                5-9 
  2253.  
  2254.              COMPUTER VIRUSES AND RELATED THREATS 
  2255.                            CHAPTER 5
  2256.  
  2257.  
  2258.      be  left to  an individual  who cannot  dedicate time  as 
  2259.      necessary. 
  2260.    o Protect the network server(s) by  locating them in secure 
  2261.      areas.    Make sure  that  physical access  is restricted 
  2262.      during off-hours.  If possible, lock or remove a server's 
  2263.      keyboard to prevent tampering. 
  2264.    o Do not provide  for more than one  administrator account, 
  2265.      i.e., do not give  other users administrator  privileges. 
  2266.      Similar  to  the  problem  of  multiple   system  manager 
  2267.      accounts on  multi-user systems, this situation  makes it 
  2268.      more  likely that a password will become known, and makes 
  2269.      overall  management more  difficult  to  control.   Users 
  2270.      should coordinate their requests through a single network 
  2271.      administrator. 
  2272.    o Do not  permit users to connect personal computers to the 
  2273.      network  cable  without  permission.   The  administrator 
  2274.      should keep an updated diagram of the network's topology, 
  2275.      complete with corresponding network addresses and users. 
  2276.    o Use  the  network monitoring  tools  that  are available. 
  2277.      Track network usage and access to resources, and pinpoint 
  2278.      unauthorized  access attempts.   Take  appropriate action 
  2279.      when violations consistently occur, such as requiring the 
  2280.      user  in  question  to attend  a  network  user  class or 
  2281.      disabling the user's network account. 
  2282.    o Ensure  that users know how to  properly use the network. 
  2283.      Show them how to use all  security features.  Ensure that 
  2284.      users  know  how  to use  passwords  and  access controls 
  2285.      effectively -  see [FIPS73]  for information  on password 
  2286.      usage.    Show  them the  difference  between  normal and 
  2287.      abnormal network  activity or response.   Encourage users 
  2288.      to contact  the  administrator  if  they  detect  unusual 
  2289.      activity.  Log and investigate all problems. 
  2290.    o Do  not give users more access  to network resources than 
  2291.      they require.   If  using shared  directories, make  them 
  2292.      read-only  if write permission is  not required, or use a 
  2293.      password.   Encourage  users to  do the  same with  their 
  2294.      shared directories. 
  2295.    o Do not set up directories  for software repository unless 
  2296.      (1) someone can first verify  whether the software is not 
  2297.      
  2298.      
  2299.                             5-10 
  2300.  
  2301.                 COMPUTER VIRUSES AND RELATED THREATS 
  2302.                              CHAPTER 5 
  2303.  
  2304.      infected, and (2) users are not permitted to write to the 
  2305.      directory without prior approval. 
  2306.    o Backup the network  server(s) regularly.  If  possible or 
  2307.      practical, backup  personal computers  using the  network 
  2308.      server backup mechanism. 
  2309.    o Disable  the  network  mail  facility  from  transferring 
  2310.      executable  files,  if  possible.     This  will  prevent 
  2311.      software  from  being  indiscriminately shared,  and  may 
  2312.      prevent  network  worm programs  from  accessing personal 
  2313.      computers. 
  2314.    o For network guest or anonymous  accounts, limit the types 
  2315.      of commands that can be executed. 
  2316.    o Warn network users  to be suspicious  of any messages  or 
  2317.      programs  that are received  from unidentified  sources - 
  2318.      network  users  should  have a  critical  and  suspicious 
  2319.      attitude  towards  anything  received   from  an  unknown 
  2320.      source. 
  2321.    o Always remove old  accounts or change passwords.   Change 
  2322.      important passwords  immediately  when  users  leave  the 
  2323.      organization or no longer require access to the network. 
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.  
  2342.  
  2343.  
  2344.  
  2345.  
  2346.                               5-11 
  2347.  
  2348.                 COMPUTER VIRUSES AND RELATED THREATS 
  2349.  
  2350.  
  2351.                              APPENDIX A 
  2352.                              References
  2353.  
  2354.  
  2355.  
  2356. BUNZEL88     Bunzel, Rick; Flu Season; Connect, Summer 1988.
  2357.  
  2358. DENNING88    Denning,  Peter  J.;  Computer  Viruses;  American
  2359.              Scientist, Vol 76, May-June, 1988. 
  2360.  
  2361. DENNING89    Denning, Peter J.;  The  Internet Worm;  American
  2362.              Scientist, Vol 77, March-April, 1989. 
  2363.  
  2364. FIPS73       Federal    Information     Processing    Standards 
  2365.              Publication   73,   Guidelines  for   Security  of
  2366.              Computer   Applications;   National    Bureau   of
  2367.              Standards, June, 1980. 
  2368.  
  2369. FIPS112      Federal    Information     Processing    Standards 
  2370.              Publication 112, Password  Usage; National  Bureau
  2371.              of Standards, May, 1985. 
  2372.  
  2373. MACAFEE89    McAfee, John; The Virus  Cure; Datamation, Feb 15,
  2374.              1989. 
  2375.  
  2376. NBS120       NBS  Special  Publication  500-120;   Security  of
  2377.              Personal  Computer  Systems:  A Management  Guide;
  2378.              National Bureau of Standards, Jan 1985. 
  2379.  
  2380. SPAFFORD88   Spafford, Eugene H.; The Internet Worm Program: An
  2381.              Analysis; Purdue Technical Report  CSD-TR-823, Nov
  2382.              28, 1988. 
  2383.  
  2384. THOMPSON84   Thompson,  Ken;  Reflections  on   Trusting  Trust
  2385.              (Deliberate Software Bugs); Communications  of the
  2386.              ACM, Vol 27, Aug 1984. 
  2387.  
  2388.  
  2389.  
  2390.  
  2391.  
  2392.  
  2393.                               A-1 
  2394.  
  2395.                COMPUTER VIRUSES AND RELATED THREATS 
  2396.  
  2397.                             APPENDIX B 
  2398.                         Suggested Reading 
  2399.  
  2400.  
  2401.  
  2402. In addition to the references listed in Appendix A, the following 
  2403. documents  are   suggested  reading  for  specific   and  general 
  2404. information  on  computer viruses  and  related forms,  and other 
  2405. related security information. 
  2406.  
  2407.  
  2408. Brenner, Aaron; LAN Security; LAN Magazine, Aug 1989.
  2409.  
  2410. Cohen,  Fred;  Computer  Viruses,  Theory  and  Experiments;  7th
  2411. Security Conference, DOD/NBS Sept 1984. 
  2412.  
  2413. Computer Viruses - Proceedings of  an Invitational Symposium, Oct
  2414. 10/11, 1988;
  2415.  
  2416. Deloitte, Haskins, and Sells; 1989 
  2417.  
  2418. Dvorak, John; Virus Wars: A Serious Warning; PC Magazine; Feb 29,
  2419. 1988. 
  2420.  
  2421. Federal   Information   Processing   Standards  Publication   83, 
  2422. Guideline on User Authentication Techniques  for Computer Network
  2423. Access Control; National Bureau of Standards, Sept, 1980
  2424.  
  2425. Federal   Information   Processing   Standards  Publication   87, 
  2426. Guidelines  for  ADP  Contingency  Planning;  National Bureau  of
  2427. Standards, March, 1981. 
  2428.  
  2429. Fiedler, David and Hunter, Bruce  M.; Unix System Administration;
  2430. Hayden Books, 1987 
  2431.  
  2432. Fitzgerald, Jerry; Business  Data Communications: Basic Concepts,
  2433. Security, and Design; John Wiley and Sons, Inc., 1984
  2434.  
  2435. Gasser, Morrie; Building  a Secure Computer System;  Van Nostrand
  2436. Reinhold, New York, 1988. 
  2437.  
  2438.  
  2439.  
  2440.                                   B-1 
  2441.  
  2442.                COMPUTER VIRUSES AND RELATED THREATS 
  2443.                             APPENDIX B 
  2444.  
  2445.  
  2446.  
  2447. Grampp, F. T. and Morris, R.  H.; UNIX Operating System Security;
  2448. AT&T Bell Laboratories Technical Journal, Oct 1984. 
  2449.  
  2450. Highland,  Harold  J.;  From  the  Editor  --  Computer  Viruses;
  2451. Computers & Security; Aug 1987. 
  2452.  
  2453. Longley, Dennis and Shain, Michael; Data and Computer Security
  2454. NBS Special  Publication 500-120;  Security of  Personal Computer 
  2455. Systems: A Management  Guide; National  Bureau of Standards,  Jan
  2456. 1985. 
  2457.  
  2458. Parker,  T.; Public  domain software  review: Trojans  revisited,
  2459. CROBOTS, and ATC; Computer Language; April 1987.
  2460.            
  2461. Schnaidt, Patricia; Fasten  Your Safety  Belt; LAN Magazine,  Oct
  2462. 1987. 
  2463.  
  2464. Shoch, J. F. and Hupp, J. A.; The Worm Programs: Early Experience
  2465. with a Distributed Computation; Comm of ACM, Mar 1982
  2466.  
  2467. White, Stephen and Chess, David; Coping with Computer Viruses and
  2468. Related  Problems;  IBM Research  Report  RC 14405  (#64367), Jan
  2469. 1989. 
  2470.  
  2471. Witten, I.  H.; Computer (In)security: infiltrating open systems;
  2472. Abacus (USA) Summer 1987. 
  2473.  
  2474.  
  2475.  
  2476.  
  2477.  
  2478.  
  2479.  
  2480.  
  2481.  
  2482.  
  2483.                              B-2
  2484.  
  2485. Comment: I got the above from one of the authors, John P. Wack.  
  2486. He has okayed my idea of making it available from the NIC.  
  2487. Action: SCC 
  2488.